Antenna House PDF Tool API (C++) 8.0
PdfTk::PtlPage クラス

#include <PtlPage.h>

公開型

enum  PAPER_SIZE {
  PAPER_A2 = 0 , PAPER_A2_R = 1 , PAPER_A3 = 2 , PAPER_A3_R = 3 ,
  PAPER_A4 = 4 , PAPER_A4_R = 5 , PAPER_B4 = 6 , PAPER_B4_R = 7 ,
  PAPER_B5 = 8 , PAPER_B5_R = 9
}

公開メンバ関数

int getHandle () const
 PtlPage ()
 コンストラクタ
 PtlPage (const PtlParamImagePage &paramImagePage)
 コンストラクタ
 PtlPage (const PtlPage &obj)
 コピーコンストラクタ alias copy
 ~PtlPage ()
 デストラクタ
PtlPageoperator= (const PtlPage &obj)
 コピーオペレータ alias copy
PtlRect getViewBox ()
 ViewBoxを取得。
void setViewBox (const PtlRect &rectMM)
 ViewBoxを設定。
PtlRect getMediaBox ()
 MediaBoxを取得。
void setMediaBox (const PtlRect &rectMM)
 MediaBoxを設定。
bool hasCropBox () const
 PDFのページに/CropBoxエントリーがあるかどうかを取得。
PtlRect getCropBox ()
 CropBoxを取得。
void setCropBox (const PtlRect &rectMM)
 CropBoxを設定。
bool hasBleedBox () const
 PDFのページに/BleedBoxエントリーがあるかどうかを取得。
PtlRect getBleedBox ()
 BleedBoxを取得。
void setBleedBox (const PtlRect &rectMM)
 BleedBoxを設定。
void removeBleedBox ()
 BleedBoxを削除。
bool hasTrimBox () const
 PDFのページに/TrimBoxエントリーがあるかどうかを取得。
PtlRect getTrimBox ()
 TrimBoxを取得。
void setTrimBox (const PtlRect &rectMM)
 TrimBoxを設定。
void removeTrimBox ()
 TrimBoxを削除。
bool hasArtBox () const
 PDFのページに/ArtBoxエントリーがあるかどうかを取得。
PtlRect getArtBox ()
 ArtBoxを取得。
void setArtBox (const PtlRect &rectMM)
 ArtBoxを設定。
void removeArtBox ()
 ArtBoxを削除。
PtlSize getSize ()
 ページサイズを取得。
PtlContentgetContent ()
 ページコンテントを取得。
void setContent (PtlContent &content)
 ページコンテントを設定。
void zoom (float ratio)
 ページの拡大縮小。
void zoomPageSize (PtlSize size)
 ページの拡大縮小(サイズ指定)。
void zoomPaperSize (PAPER_SIZE size)
 ページの拡大縮小(用紙指定)。
void setRotate (int value)
 回転角度を設定。
int getRotateNative ()
 PDFのページに設定してある/Rotateの値を取得。
void setRotateNative (int value)
 PDFのページの/Rotateに値を設定。
bool hasAnnots () const
 注釈があるかどうかを取得。
PtlAnnotsgetAnnots ()
 注釈コンテナを取得。
bool hasThumbnail () const
 サムネイル画像を持っているかどうかを取得。
void removeThumbnail ()
 サムネイル画像を削除。
void setMask (const PtlParamSetMask &paramSetMask)
 マスク処理(墨消し)。
void setMask (const PtlAnnotRedaction &annotRedact)
 マスク処理(墨消し)。
int searchTextAndDoProcess (const PtlParamSearchText &paramSearchText)
 テキスト検索して後処理。
PtlSearchTextResults searchText (const PtlParamSearchText &paramSearchText)
 テキスト検索。

詳解

PDFのページオブジェクトを表現したクラスです。

ページ番号は0オリジンとなっています。

PtlPage.h30 行目に定義があります。

列挙型メンバ詳解

◆ PAPER_SIZE

用紙サイズ

列挙値
PAPER_A2 

A2縦

PAPER_A2_R 

A2横

PAPER_A3 

A3縦

PAPER_A3_R 

A3横

PAPER_A4 

A4縦

PAPER_A4_R 

A4横

PAPER_B4 

B4縦

PAPER_B4_R 

B4横

PAPER_B5 

B5縦

PAPER_B5_R 

B5横

PtlPage.h36 行目に定義があります。

構築子と解体子

◆ PtlPage() [1/3]

PdfTk::PtlPage::PtlPage ( )

コンストラクタ

例外
PtlException

◆ PtlPage() [2/3]

PdfTk::PtlPage::PtlPage ( const PtlParamImagePage & paramImagePage)

コンストラクタ

引数
paramImagePage画像のページ作成に使うパラメータ。
例外
PtlException

◆ PtlPage() [3/3]

PdfTk::PtlPage::PtlPage ( const PtlPage & obj)

コピーコンストラクタ alias copy

引数
objコピー元オブジェクト。
例外
PtlException

関数詳解

◆ getAnnots()

PtlAnnots & PdfTk::PtlPage::getAnnots ( )

注釈コンテナを取得。

戻り値
注釈コンテナ。
例外
PtlException

◆ getArtBox()

PtlRect PdfTk::PtlPage::getArtBox ( )

ArtBoxを取得。

取得される値はPDFのページに設定しある/ArtBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にArtBoxがあるかということです。
PDFのページに/ArtBoxが設定されていない場合は、getCropBox()と同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

戻り値
ArtBoxの矩形
例外
PtlException

◆ getBleedBox()

PtlRect PdfTk::PtlPage::getBleedBox ( )

BleedBoxを取得。

取得される値はPDFのページに設定しある/BleedBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にBleedBoxがあるかということです。
PDFのページに/BleedBoxが設定されていない場合は、getCropBox()と同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

戻り値
BleedBoxの矩形
例外
PtlException

◆ getContent()

PtlContent & PdfTk::PtlPage::getContent ( )

ページコンテントを取得。

PtlContentを取得して描画する場合は、PtlPageがPtlPagesに追加されたもの、若しくはPtlPagesから取得されたものでなければなりません。

戻り値
ページコンテント。
例外
PtlException

◆ getCropBox()

PtlRect PdfTk::PtlPage::getCropBox ( )

CropBoxを取得。

取得される値はPDFのページに設定しある/CropBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にCropBoxがあるかということです。
PDFのページに/CropBoxが設定されていない場合は、MediaBoxと同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

戻り値
CropBoxの矩形
例外
PtlException

◆ getMediaBox()

PtlRect PdfTk::PtlPage::getMediaBox ( )

MediaBoxを取得。

取得される値はPDFのページに設定しある/MediaBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にMediaBoxがあるかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

戻り値
MediaBoxの矩形
例外
PtlException

◆ getRotateNative()

int PdfTk::PtlPage::getRotateNative ( )

PDFのページに設定してある/Rotateの値を取得。

PDFの辞書に設定してある/Rotateの値を取得します。
/Rotateの値に関わらず、Contentに記述してある内容は/Rotate 0の状態で記述してありますが、
ビューワによって表示される際に、/Rotateの値に従って時計回りに回転されることになります。

戻り値
回転角度(時計回りに0, 90, 180, 270)。
例外
PtlException

◆ getSize()

PtlSize PdfTk::PtlPage::getSize ( )

ページサイズを取得。

ビューワで表示されるページのサイズが取得されます。
単位はmmとなりますので注意してください。

戻り値
ページサイズ
例外
PtlException

◆ getTrimBox()

PtlRect PdfTk::PtlPage::getTrimBox ( )

TrimBoxを取得。

取得される値はPDFのページに設定しある/TrimBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にTrimBoxがあるかということです。
PDFのページに/TrimBoxが設定されていない場合は、getCropBox()と同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

戻り値
TrimBoxの矩形
例外
PtlException

◆ getViewBox()

PtlRect PdfTk::PtlPage::getViewBox ( )

ViewBoxを取得。

ビューワで表示されるページの矩形(ViewBoxと呼びます)が取得されます。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

ViewBoxについて
ビューワで表示される領域というのはPDFのページに設定しある/MediaBoxと/CropBoxの交差する矩形となります。
ビューワはその矩形をページに設定してある/Rotateの値(0,90,180,270)によって回転して描画します。
ViewBoxというのはその描画された矩形となります。つまりビューワで見えているページの矩形そのものがViewBoxということになります。
ViewBoxは左下を原点(0,0)とし、右上は(ページサイズの横,ページサイズの縦)となります。

戻り値
ViewBoxの矩形
例外
PtlException

◆ hasAnnots()

bool PdfTk::PtlPage::hasAnnots ( ) const

注釈があるかどうかを取得。

戻り値
true: 注釈がある、false: 注釈がない。
例外
PtlException

◆ hasArtBox()

bool PdfTk::PtlPage::hasArtBox ( ) const

PDFのページに/ArtBoxエントリーがあるかどうかを取得。

戻り値
true: ArtBoxがある、false: ArtBoxがない。
例外
PtlException

◆ hasBleedBox()

bool PdfTk::PtlPage::hasBleedBox ( ) const

PDFのページに/BleedBoxエントリーがあるかどうかを取得。

戻り値
true: BleedBoxがある、false: BleedBoxがない。
例外
PtlException

◆ hasCropBox()

bool PdfTk::PtlPage::hasCropBox ( ) const

PDFのページに/CropBoxエントリーがあるかどうかを取得。

戻り値
true: CropBoxがある、false: CropBoxがない。
例外
PtlException

◆ hasThumbnail()

bool PdfTk::PtlPage::hasThumbnail ( ) const

サムネイル画像を持っているかどうかを取得。

戻り値
true: サムネイル画像を持っている、false: サムネイル画像を持っていない。
例外
PtlException

◆ hasTrimBox()

bool PdfTk::PtlPage::hasTrimBox ( ) const

PDFのページに/TrimBoxエントリーがあるかどうかを取得。

戻り値
true: TrimBoxがある、false: TrimBoxがない。
例外
PtlException

◆ operator=()

PtlPage & PdfTk::PtlPage::operator= ( const PtlPage & obj)

コピーオペレータ alias copy

引数
objコピー元オブジェクト。
例外
PtlException

◆ removeArtBox()

void PdfTk::PtlPage::removeArtBox ( )

ArtBoxを削除。

例外
PtlException

◆ removeBleedBox()

void PdfTk::PtlPage::removeBleedBox ( )

BleedBoxを削除。

例外
PtlException

◆ removeThumbnail()

void PdfTk::PtlPage::removeThumbnail ( )

サムネイル画像を削除。

例外
PtlException

◆ removeTrimBox()

void PdfTk::PtlPage::removeTrimBox ( )

TrimBoxを削除。

例外
PtlException

◆ searchText()

PtlSearchTextResults PdfTk::PtlPage::searchText ( const PtlParamSearchText & paramSearchText)

テキスト検索。

検索できるのはコンテントに描画されるテキストエレメントからユニコードとして文字を取得できるもののみです。
検索するテキストはコンテントに記述されている順番に取得されるのでビューワで見える通りの文字の並びとは限りません。
またテキストに見えても実際は画像であったりパスであったりする場合もこれらは検索対象となりません。

引数
paramSearchTextテキスト検索のパラメータ
戻り値
PtlSearchTextResults。
例外
PtlException

◆ searchTextAndDoProcess()

int PdfTk::PtlPage::searchTextAndDoProcess ( const PtlParamSearchText & paramSearchText)

テキスト検索して後処理。

検索できるのはコンテントに描画されるテキストエレメントからユニコードとして文字を取得できるもののみです。
検索するテキストはコンテントに記述されている順番に取得されるのでビューワで見える通りの文字の並びとは限りません。
またテキストに見えても実際は画像であったりパスであったりする場合もこれらは検索対象となりません。
パラメータとしてPtlParamSearchTextAndHighlightが使用された場合は、検索された文字列に対してHighlight注釈処理が行われます。
パラメータとしてPtlParamSearchTextAndSetMaskが使用された場合は、検索された文字列に対してMask処理が行われます。
※ 注意事項
Mask処理は検索されたものは無条件に処理されます。
定型文書でない一般文書などでは想定外のテキストがMask処理されてしまうことがありますのでこの関数の使用には
十分注意して下さい。
(例) "元日", "本日"のようにテキストが取得された場合、"日本"で検索するとヒットして"日"と"本"は削除されていまいます。

引数
paramSearchTextテキスト検索のパラメータ(PtlParamSearchTextAndHighlight若しくはPtlParamSearchTextAndSetMask)
戻り値
検索されたテキストの数。
例外
PtlException

◆ setArtBox()

void PdfTk::PtlPage::setArtBox ( const PtlRect & rectMM)

ArtBoxを設定。

設定する値はPDFのページに設定される/ArtBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にArtBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
ArtBoxはMediaBoxより後に設定してください。

引数
rectMMArtBoxの矩形
例外
PtlException

◆ setBleedBox()

void PdfTk::PtlPage::setBleedBox ( const PtlRect & rectMM)

BleedBoxを設定。

設定する値はPDFのページに設定される/BleedBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にBleedBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
BleedBoxはMediaBoxより後に設定してください。

引数
rectMMBleedBoxの矩形
例外
PtlException

◆ setContent()

void PdfTk::PtlPage::setContent ( PtlContent & content)

ページコンテントを設定。

コンテントを編集した場合はsetContentしないと編集内容は反映されません。

引数
contentページコンテント。
例外
PtlException

◆ setCropBox()

void PdfTk::PtlPage::setCropBox ( const PtlRect & rectMM)

CropBoxを設定。

設定する値はPDFのページに設定される/CropBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にCropBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
CropBoxはMediaBoxより後に設定してください。

引数
rectMMCropBoxの矩形
例外
PtlException

◆ setMask() [1/2]

void PdfTk::PtlPage::setMask ( const PtlAnnotRedaction & annotRedact)

マスク処理(墨消し)。

Redaction注釈の領域内のコンテントに描画されるエレメントを削除します。
マスク処理後、使用した注釈PtlAnnotRedactionを削除してください。
※ 制限事項
領域にエレメント全体が含まれた場合はエレメントは削除されますが、エレメントの一部
が矩形に囲まれた場合、囲まれた部分の部分削除が出来るのはテキストと画像だけです。
画像の部分削除が行われた場合、残された部分の色目などを完全に再現できるとは限りません。

引数
annotRedactRedaction注釈
例外
PtlException

◆ setMask() [2/2]

void PdfTk::PtlPage::setMask ( const PtlParamSetMask & paramSetMask)

マスク処理(墨消し)。

マスク矩形内のコンテントに描画されるエレメントを削除します。
墨消しはこの関数を用いることにより実現できます。
※ 制限事項
矩形にエレメント全体が含まれた場合はエレメントは削除されますが、エレメントの一部
が矩形に囲まれた場合、囲まれた部分の部分削除が出来るのはテキストと画像だけです。
画像の部分削除が行われた場合、残された部分の色目などを完全に再現できるとは限りません。

引数
paramSetMaskマスク設定のパラメータ
例外
PtlException

◆ setMediaBox()

void PdfTk::PtlPage::setMediaBox ( const PtlRect & rectMM)

MediaBoxを設定。

設定する値はPDFのページに設定される/MediaBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にMediaBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
MediaBoxは他のBoxより先に設定してください。

引数
rectMMMediaBoxの矩形
例外
PtlException

◆ setRotate()

void PdfTk::PtlPage::setRotate ( int value)

回転角度を設定。

表示されるページを現在の状態からどれだけ時計回りに回転させるかを設定します。
角度は絶対値で90度単位になります。それ以外の値を指定した場合の動作は保証されません。
回転角度を設定する場合は他の関数より先に設定してください。

引数
value回転角度(時計回りに0, 90, 180, 270)
例外
PtlException

◆ setRotateNative()

void PdfTk::PtlPage::setRotateNative ( int value)

PDFのページの/Rotateに値を設定。

PDFの辞書にある/Rotateに値を設定します。
/Rotateの値に関わらず、Contentに記述してある内容は/Rotate 0の状態で記述してありますが、
ビューワによって表示される際に、/Rotateの値に従って時計回りに回転されることになります。

/Rotateに0以外の場合が設定されていてもビューワによる表示前の状態のことを考慮せずに、ビューワに
よって表示されている状態に描画できるのがPDFToolの特徴となっています。
しかしながら、ビューワによって回転される前の状態でページに描画したい用途もあるかもしれません。
そのような場合は、下記の様にすることで実現できます。
1. getRotateNative()関数で/Rotateの値を取得。
2. setRotateNativeに0を設定。
3. ここで、ビューワによって回転される前の状態に対して描画を行います。
4. setRotateNativeに1で取得した値を設定。

角度は絶対値で90度単位になります。それ以外の値を指定した場合の動作は保証されません。
回転角度を設定する場合は他の関数より先に設定してください。

引数
value回転角度(時計回りに0, 90, 180, 270)
例外
PtlException

◆ setTrimBox()

void PdfTk::PtlPage::setTrimBox ( const PtlRect & rectMM)

TrimBoxを設定。

設定する値はPDFのページに設定される/TrimBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にTrimBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
TrimBoxはMediaBoxより後に設定してください。

引数
rectMMTrimBoxの矩形
例外
PtlException

◆ setViewBox()

void PdfTk::PtlPage::setViewBox ( const PtlRect & rectMM)

ViewBoxを設定。

ビューワで表示されるページの矩形(ViewBoxと呼びます)を設定します。
MediaBox,CropBoxに設定されます。
BleedBox,Trim,ArtBoxは削除されます。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。

ViewBoxについて
ビューワで表示される領域というのはPDFのページに設定しある/MediaBoxと/CropBoxの交差する矩形となります。
ビューワはその矩形をページに設定してある/Rotateの値(0,90,180,270)によって回転して描画します。
ViewBoxというのはその描画された矩形となります。つまりビューワで見えているページの矩形そのものがViewBoxということになります。
ViewBoxは左下を原点(0,0)とし、右上は(ページサイズの横,ページサイズの縦)となります。

引数
rectMMViewBoxの矩形
例外
PtlException

◆ zoom()

void PdfTk::PtlPage::zoom ( float ratio)

ページの拡大縮小。

引数
ratio拡大縮小率
1.0が等倍です。0.1から10.0までの値を指定して下さい。
例外
PtlException

◆ zoomPageSize()

void PdfTk::PtlPage::zoomPageSize ( PtlSize size)

ページの拡大縮小(サイズ指定)。

引数
sizeページサイズ
25.4mmから3276.7までの値を指定して下さい。
例外
PtlException

◆ zoomPaperSize()

void PdfTk::PtlPage::zoomPaperSize ( PAPER_SIZE size)

ページの拡大縮小(用紙指定)。

引数
size用紙サイズ PAPER_SIZE_XXXのいずれかの値。
例外
PtlException