Antenna House PDF Tool API (C++) 8.0
|
#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 ¶mImagePage) | |
コンストラクタ | |
PtlPage (const PtlPage &obj) | |
コピーコンストラクタ alias copy | |
~PtlPage () | |
デストラクタ | |
PtlPage & | operator= (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 () |
ページサイズを取得。 | |
PtlContent & | getContent () |
ページコンテントを取得。 | |
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 |
注釈があるかどうかを取得。 | |
PtlAnnots & | getAnnots () |
注釈コンテナを取得。 | |
bool | hasThumbnail () const |
サムネイル画像を持っているかどうかを取得。 | |
void | removeThumbnail () |
サムネイル画像を削除。 | |
void | setMask (const PtlParamSetMask ¶mSetMask) |
マスク処理(墨消し)。 | |
void | setMask (const PtlAnnotRedaction &annotRedact) |
マスク処理(墨消し)。 | |
int | searchTextAndDoProcess (const PtlParamSearchText ¶mSearchText) |
テキスト検索して後処理。 | |
PtlSearchTextResults | searchText (const PtlParamSearchText ¶mSearchText) |
テキスト検索。 |
PdfTk::PtlPage::PtlPage | ( | ) |
コンストラクタ
PtlException |
PdfTk::PtlPage::PtlPage | ( | const PtlParamImagePage & | paramImagePage | ) |
PdfTk::PtlPage::PtlPage | ( | const PtlPage & | obj | ) |
PtlAnnots & PdfTk::PtlPage::getAnnots | ( | ) |
PtlRect PdfTk::PtlPage::getArtBox | ( | ) |
ArtBoxを取得。
取得される値はPDFのページに設定しある/ArtBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にArtBoxがあるかということです。
PDFのページに/ArtBoxが設定されていない場合は、getCropBox()と同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
PtlException |
PtlRect PdfTk::PtlPage::getBleedBox | ( | ) |
BleedBoxを取得。
取得される値はPDFのページに設定しある/BleedBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にBleedBoxがあるかということです。
PDFのページに/BleedBoxが設定されていない場合は、getCropBox()と同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
PtlException |
PtlContent & PdfTk::PtlPage::getContent | ( | ) |
ページコンテントを取得。
PtlContentを取得して描画する場合は、PtlPageがPtlPagesに追加されたもの、若しくはPtlPagesから取得されたものでなければなりません。
PtlException |
PtlRect PdfTk::PtlPage::getCropBox | ( | ) |
CropBoxを取得。
取得される値はPDFのページに設定しある/CropBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にCropBoxがあるかということです。
PDFのページに/CropBoxが設定されていない場合は、MediaBoxと同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
PtlException |
PtlRect PdfTk::PtlPage::getMediaBox | ( | ) |
MediaBoxを取得。
取得される値はPDFのページに設定しある/MediaBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にMediaBoxがあるかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
PtlException |
int PdfTk::PtlPage::getRotateNative | ( | ) |
PDFのページに設定してある/Rotateの値を取得。
PDFの辞書に設定してある/Rotateの値を取得します。
/Rotateの値に関わらず、Contentに記述してある内容は/Rotate 0の状態で記述してありますが、
ビューワによって表示される際に、/Rotateの値に従って時計回りに回転されることになります。
PtlException |
PtlSize PdfTk::PtlPage::getSize | ( | ) |
PtlRect PdfTk::PtlPage::getTrimBox | ( | ) |
TrimBoxを取得。
取得される値はPDFのページに設定しある/TrimBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にTrimBoxがあるかということです。
PDFのページに/TrimBoxが設定されていない場合は、getCropBox()と同じ値が取得されます。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
PtlException |
PtlRect PdfTk::PtlPage::getViewBox | ( | ) |
ViewBoxを取得。
ビューワで表示されるページの矩形(ViewBoxと呼びます)が取得されます。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
ViewBoxについて
ビューワで表示される領域というのはPDFのページに設定しある/MediaBoxと/CropBoxの交差する矩形となります。
ビューワはその矩形をページに設定してある/Rotateの値(0,90,180,270)によって回転して描画します。
ViewBoxというのはその描画された矩形となります。つまりビューワで見えているページの矩形そのものがViewBoxということになります。
ViewBoxは左下を原点(0,0)とし、右上は(ページサイズの横,ページサイズの縦)となります。
PtlException |
bool PdfTk::PtlPage::hasAnnots | ( | ) | const |
bool PdfTk::PtlPage::hasArtBox | ( | ) | const |
bool PdfTk::PtlPage::hasBleedBox | ( | ) | const |
bool PdfTk::PtlPage::hasCropBox | ( | ) | const |
bool PdfTk::PtlPage::hasThumbnail | ( | ) | const |
bool PdfTk::PtlPage::hasTrimBox | ( | ) | const |
void PdfTk::PtlPage::removeArtBox | ( | ) |
ArtBoxを削除。
PtlException |
void PdfTk::PtlPage::removeBleedBox | ( | ) |
BleedBoxを削除。
PtlException |
void PdfTk::PtlPage::removeThumbnail | ( | ) |
サムネイル画像を削除。
PtlException |
void PdfTk::PtlPage::removeTrimBox | ( | ) |
TrimBoxを削除。
PtlException |
PtlSearchTextResults PdfTk::PtlPage::searchText | ( | const PtlParamSearchText & | paramSearchText | ) |
テキスト検索。
検索できるのはコンテントに描画されるテキストエレメントからユニコードとして文字を取得できるもののみです。
検索するテキストはコンテントに記述されている順番に取得されるのでビューワで見える通りの文字の並びとは限りません。
またテキストに見えても実際は画像であったりパスであったりする場合もこれらは検索対象となりません。
paramSearchText | テキスト検索のパラメータ |
PtlException |
int PdfTk::PtlPage::searchTextAndDoProcess | ( | const PtlParamSearchText & | paramSearchText | ) |
テキスト検索して後処理。
検索できるのはコンテントに描画されるテキストエレメントからユニコードとして文字を取得できるもののみです。
検索するテキストはコンテントに記述されている順番に取得されるのでビューワで見える通りの文字の並びとは限りません。
またテキストに見えても実際は画像であったりパスであったりする場合もこれらは検索対象となりません。
パラメータとしてPtlParamSearchTextAndHighlightが使用された場合は、検索された文字列に対してHighlight注釈処理が行われます。
パラメータとしてPtlParamSearchTextAndSetMaskが使用された場合は、検索された文字列に対してMask処理が行われます。
※ 注意事項
Mask処理は検索されたものは無条件に処理されます。
定型文書でない一般文書などでは想定外のテキストがMask処理されてしまうことがありますのでこの関数の使用には
十分注意して下さい。
(例) "元日", "本日"のようにテキストが取得された場合、"日本"で検索するとヒットして"日"と"本"は削除されていまいます。
paramSearchText | テキスト検索のパラメータ(PtlParamSearchTextAndHighlight若しくはPtlParamSearchTextAndSetMask) |
PtlException |
void PdfTk::PtlPage::setArtBox | ( | const PtlRect & | rectMM | ) |
ArtBoxを設定。
設定する値はPDFのページに設定される/ArtBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にArtBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
ArtBoxはMediaBoxより後に設定してください。
rectMM | ArtBoxの矩形 |
PtlException |
void PdfTk::PtlPage::setBleedBox | ( | const PtlRect & | rectMM | ) |
BleedBoxを設定。
設定する値はPDFのページに設定される/BleedBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にBleedBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
BleedBoxはMediaBoxより後に設定してください。
rectMM | BleedBoxの矩形 |
PtlException |
void PdfTk::PtlPage::setContent | ( | PtlContent & | content | ) |
void PdfTk::PtlPage::setCropBox | ( | const PtlRect & | rectMM | ) |
CropBoxを設定。
設定する値はPDFのページに設定される/CropBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にCropBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
CropBoxはMediaBoxより後に設定してください。
rectMM | CropBoxの矩形 |
PtlException |
void PdfTk::PtlPage::setMask | ( | const PtlAnnotRedaction & | annotRedact | ) |
マスク処理(墨消し)。
Redaction注釈の領域内のコンテントに描画されるエレメントを削除します。
マスク処理後、使用した注釈PtlAnnotRedactionを削除してください。
※ 制限事項
領域にエレメント全体が含まれた場合はエレメントは削除されますが、エレメントの一部
が矩形に囲まれた場合、囲まれた部分の部分削除が出来るのはテキストと画像だけです。
画像の部分削除が行われた場合、残された部分の色目などを完全に再現できるとは限りません。
annotRedact | Redaction注釈 |
PtlException |
void PdfTk::PtlPage::setMask | ( | const PtlParamSetMask & | paramSetMask | ) |
マスク処理(墨消し)。
マスク矩形内のコンテントに描画されるエレメントを削除します。
墨消しはこの関数を用いることにより実現できます。
※ 制限事項
矩形にエレメント全体が含まれた場合はエレメントは削除されますが、エレメントの一部
が矩形に囲まれた場合、囲まれた部分の部分削除が出来るのはテキストと画像だけです。
画像の部分削除が行われた場合、残された部分の色目などを完全に再現できるとは限りません。
paramSetMask | マスク設定のパラメータ |
PtlException |
void PdfTk::PtlPage::setMediaBox | ( | const PtlRect & | rectMM | ) |
MediaBoxを設定。
設定する値はPDFのページに設定される/MediaBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にMediaBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
MediaBoxは他のBoxより先に設定してください。
rectMM | MediaBoxの矩形 |
PtlException |
void PdfTk::PtlPage::setRotate | ( | int | value | ) |
回転角度を設定。
表示されるページを現在の状態からどれだけ時計回りに回転させるかを設定します。
角度は絶対値で90度単位になります。それ以外の値を指定した場合の動作は保証されません。
回転角度を設定する場合は他の関数より先に設定してください。
value | 回転角度(時計回りに0, 90, 180, 270) |
PtlException |
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 |
void PdfTk::PtlPage::setTrimBox | ( | const PtlRect & | rectMM | ) |
TrimBoxを設定。
設定する値はPDFのページに設定される/TrimBoxの値そのものでなく、ViewBoxの座標からの相対的な値となります。
つまりビューワで見えているページの矩形に対してどういう位置にTrimBoxを設定するかということです。
ViewBoxについての詳細はgetViewBox()関数に記述してあります。
座標の単位はmmで原点(0,0)は左下となりますので注意してください。
TrimBoxはMediaBoxより後に設定してください。
rectMM | TrimBoxの矩形 |
PtlException |
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)とし、右上は(ページサイズの横,ページサイズの縦)となります。
rectMM | ViewBoxの矩形 |
PtlException |
void PdfTk::PtlPage::zoom | ( | float | ratio | ) |
void PdfTk::PtlPage::zoomPageSize | ( | PtlSize | size | ) |
void PdfTk::PtlPage::zoomPaperSize | ( | PAPER_SIZE | size | ) |