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

#include <PtlPDFDocument.h>

公開型

enum  SAVE_OPTION { SAVE_RECONSTRUCT = 0 , SAVE_LINEARIZE = 1 , SAVE_INCREMENTAL_UPDATE = 2 }
enum  PDFA_TYPE {
  PDFA_1A = 101 , PDFA_1B = 102 , PDFA_2A = 201 , PDFA_2B = 202 ,
  PDFA_2U = 221 , PDFA_3A = 301 , PDFA_3B = 302 , PDFA_3U = 321 ,
  PDFA_4 = 400 , PDFA_4E = 401 , PDFA_4F = 402 , PDFA_UNKNOWN = 1000
}

公開メンバ関数

int getHandle () const
 PtlPDFDocument ()
 コンストラクタ
 PtlPDFDocument (const PtlPDFDocument &obj)
 コピーコンストラクタ alias copy
 ~PtlPDFDocument ()
 デストラクタ
PtlPDFDocument & operator= (const PtlPDFDocument &obj)
 コピーオペレータ alias copy
void setPassword (const PtlParamString &password)
 パスワードを設定。
void setPKCS12 (PtlParamStream &inPKCS12)
 PKCS#12を設定。
void load (PtlParamStream &inParam)
 PDF文書をロード。
void setSaveOption (SAVE_OPTION option)
 保存時のオプションを設定。
void save (PtlParamStream &outParam)
 PDF文書を保存。
bool isEncrypted () const
 暗号化されているかどうかを取得。
bool isEncryptedOnlyEmbeddedFiles () const
 添付ファイルのみ暗号化されているかどうかを取得。
bool hasOwnerAuthority () const
 オーナー権限があるかどうかを取得。
const PtlEncrypt & getEncrypt ()
 暗号化情報を取得。
void setEncrypt (const PtlEncrypt &encrypt)
 暗号化情報を設定。
void removeEncrypt ()
 暗号化情報を削除。
bool isSignatured () const
 署名付きかどうかを取得。
bool isPDFA () const
 PDF/Aかどうかを取得。
PDFA_TYPE getPDFAType () const
 PDF/Aタイプを取得。
bool isPDFX () const
 PDF/Xかどうかを取得。
PtlDocProperty & getDocProperty () const
 文書プロパティを取得。
int getPageCount () const
 ページ数を取得。
PtlPages & getPages ()
 ページコンテナを取得。
bool hasOutlines () const
 アウトライン(しおり)を持っているかどうかを取得。
PtlOutline getRootOutline () const
 ルートアウトラインを取得。
bool hasEmbeddedFiles () const
 添付ファイルを持っているかどうかを取得。
PtlEmbeddedFiles & getEmbeddedFiles () const
 添付ファイルコンテナを取得。
void appendWaterMark (const PtlParamWaterMark &waterMark)
 透かしを設定。
void removeWaterMark (const PtlParamString &name)
 透かしを削除。
void setRestriction (const PtlParamRestriction &restriction)
 閲覧制限を設定。
bool optimize (const PtlParamOptimize &paramOptimize)
 最適化。
bool embedFonts ()
 フォント埋め込み。
void importAnnotsFromFDF (PtlParamStream &inParam)
 マークアップ注釈のFDFからのインポート。
void importAnnotsFromPDF (PtlParamStream &inParam)
 マークアップ注釈のPDFからのインポート。
void exportAnnotsToFDF (PtlParamStream &outParam)
 マークアップ注釈のFDF文書へのエクスポート。
PtlFormFieldValues importFormFieldsFromFDF (PtlParamStream &inParam)
 フォームフィールドデータのFDFからのインポート。
void exportFormFieldsToFDF (PtlParamStream &outParam)
 フォームフィールドデータのFDF文書へのエクスポート。
void exportFormFieldsToXFDF (PtlParamStream &outParam)
 フォームフィールドデータのXFDF文書へのエクスポート。
void importFormFieldsFromXFDF (PtlParamStream &inParam)
 フォームフィールドデータのXFDF文書からのインポート。
void resetForm ()
 フォームフィールドデータのリセット。
void setExportEmptyDataFlg (bool flg)
 空データ出力フラグの設定。
PtlFormFieldValues getFormFieldValues () const
 フォームデータの取得。
int searchTextAndDoProcess (const PtlParamSearchText &paramSearchText)
 テキスト検索して後処理。
PtlSearchTextResults searchText (const PtlParamSearchText &paramSearchText)
 テキスト検索。
void cancelGroupedLayer ()
 レイヤーのグループ化を解除。
void flatLayer ()
 レイヤーをフラット化。
PtlAcroForm & getAcroForm () const
 フォームを取得。
bool hasRedaction () const
 Redaction注釈を持っているかどうかを取得。
void setMaskUsingRedaction ()
 Redaction注釈をもとにマスク処理(墨消し)。
bool hasLayers () const
 レイヤーを持つかどうかを取得。
PtlLayers & getLayers () const
 レイヤーコンテナの取得。

詳解

PDF文書を表現したクラスです。

PtlPDFDocument.h の 34 行目に定義があります。

列挙型メンバ詳解

◆ PDFA_TYPE

PDF/Aのタイプ

列挙値
PDFA_1A 

PDF/A-1a

PDFA_1B 

PDF/A-1b

PDFA_2A 

PDF/A-2a

PDFA_2B 

PDF/A-2b

PDFA_2U 

PDF/A-2u

PDFA_3A 

PDF/A-3a

PDFA_3B 

PDF/A-3b

PDFA_3U 

PDF/A-3u

PDFA_4 

PDF/A-4

PDFA_4E 

PDF/A-4e

PDFA_4F 

PDF/A-4f

PDFA_UNKNOWN 

PDF/A-???

PtlPDFDocument.h の 49 行目に定義があります。

◆ SAVE_OPTION

保存オプション

列挙値
SAVE_RECONSTRUCT 

再構築(デフォルト)

SAVE_LINEARIZE 

リニアライズ

SAVE_INCREMENTAL_UPDATE 

増分更新

PtlPDFDocument.h の 40 行目に定義があります。

構築子と解体子

◆ PtlPDFDocument() [1/2]

PdfTk::PtlPDFDocument::PtlPDFDocument ( )

コンストラクタ

例外
PtlException

◆ PtlPDFDocument() [2/2]

PdfTk::PtlPDFDocument::PtlPDFDocument ( const PtlPDFDocument & obj)

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

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

関数詳解

◆ appendWaterMark()

void PdfTk::PtlPDFDocument::appendWaterMark ( const PtlParamWaterMark & waterMark)

透かしを設定。

引数
waterMark透かしのパラメータ
例外
PtlException

◆ cancelGroupedLayer()

void PdfTk::PtlPDFDocument::cancelGroupedLayer ( )

レイヤーのグループ化を解除。

グループ化されたレイヤーを解除します。

例外
PtlException

◆ embedFonts()

bool PdfTk::PtlPDFDocument::embedFonts ( )

フォント埋め込み。

埋め込まれていないフォントを埋め込みフォントにします。
※ 埋め込みに使われるフォントがインストールされていないと埋め込み対象であっても埋め込みされません。

戻り値
true: フォント埋め込みされた、false: フォント埋め込みされない。
例外
PtlException

◆ exportAnnotsToFDF()

void PdfTk::PtlPDFDocument::exportAnnotsToFDF ( PtlParamStream & outParam)

マークアップ注釈のFDF文書へのエクスポート。

マークアップ注釈をFDFに書き出します。

引数
outParamOutputParam
例外
PtlException

◆ exportFormFieldsToFDF()

void PdfTk::PtlPDFDocument::exportFormFieldsToFDF ( PtlParamStream & outParam)

フォームフィールドデータのFDF文書へのエクスポート。

フォームフィールドデータをFDFに書き出します。

引数
outParamOutputParam
例外
PtlException

◆ exportFormFieldsToXFDF()

void PdfTk::PtlPDFDocument::exportFormFieldsToXFDF ( PtlParamStream & outParam)

フォームフィールドデータのXFDF文書へのエクスポート。

フォームフィールドデータをXFDFに書き出します。

引数
outParamOutputParam
例外
PtlException

◆ flatLayer()

void PdfTk::PtlPDFDocument::flatLayer ( )

レイヤーをフラット化。

レイヤーをフラット化します。

例外
PtlException

◆ getAcroForm()

PtlAcroForm & PdfTk::PtlPDFDocument::getAcroForm ( ) const

フォームを取得。

戻り値
フォーム。
例外
PtlException

◆ getDocProperty()

PtlDocProperty & PdfTk::PtlPDFDocument::getDocProperty ( ) const

文書プロパティを取得。

戻り値
文書プロパティ。
例外
PtlException

◆ getEmbeddedFiles()

PtlEmbeddedFiles & PdfTk::PtlPDFDocument::getEmbeddedFiles ( ) const

添付ファイルコンテナを取得。

戻り値
添付ファイルコンテナ。
例外
PtlException

◆ getEncrypt()

const PtlEncrypt & PdfTk::PtlPDFDocument::getEncrypt ( )

暗号化情報を取得。

戻り値
暗号化情報。PtlEncryptStandardType1若しくはPtlEncryptStandardType2。
例外
PtlException

◆ getFormFieldValues()

PtlFormFieldValues PdfTk::PtlPDFDocument::getFormFieldValues ( ) const

フォームデータの取得。

PDF内のフォームデータを取得します。

戻り値
PtlFormFieldValues 取得したフォームデータ
例外
PtlException

◆ getLayers()

PtlLayers & PdfTk::PtlPDFDocument::getLayers ( ) const

レイヤーコンテナの取得。

PDF内のレイヤーを取得します。

戻り値
PtlLayers 取得したレイヤーコンテナ
例外
PtlException

◆ getPageCount()

int PdfTk::PtlPDFDocument::getPageCount ( ) const

ページ数を取得。

戻り値
ページ数

◆ getPages()

PtlPages & PdfTk::PtlPDFDocument::getPages ( )

ページコンテナを取得。

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

◆ getPDFAType()

PDFA_TYPE PdfTk::PtlPDFDocument::getPDFAType ( ) const

PDF/Aタイプを取得。

戻り値
PDFA_TYPE。
例外
PtlException

◆ getRootOutline()

PtlOutline PdfTk::PtlPDFDocument::getRootOutline ( ) const

ルートアウトラインを取得。

ルートは仮想のしおりで一番上位にあり、他のしおりをたどっていく基点となります。
アウトラインを持っていなくてもルートは取得されます。

戻り値
ルートアウトライン。
例外
PtlException

◆ hasEmbeddedFiles()

bool PdfTk::PtlPDFDocument::hasEmbeddedFiles ( ) const

添付ファイルを持っているかどうかを取得。

PDF文書が添付ファイルを持っているかどうかを取得します。
ここでの添付ファイルには添付ファイル注釈の添付ファイルは含まれません。

戻り値
true: 持っている、false: 持っていない。
例外
PtlException

◆ hasLayers()

bool PdfTk::PtlPDFDocument::hasLayers ( ) const

レイヤーを持つかどうかを取得。

戻り値
true: レイヤーを持つ。false: レイヤーを持たない。
例外
PtlException

◆ hasOutlines()

bool PdfTk::PtlPDFDocument::hasOutlines ( ) const

アウトライン(しおり)を持っているかどうかを取得。

戻り値
true: 持っている、false: 持っていない。
例外
PtlException

◆ hasOwnerAuthority()

bool PdfTk::PtlPDFDocument::hasOwnerAuthority ( ) const

オーナー権限があるかどうかを取得。

暗号化されていない場合、hasOwnerAuthorityはfalseです。

暗号化されている場合は下記の通りです。

ユーザーパスワード/オーナーパスワードの両方が設定されている場合、
ユーザーパスワードでloadするとhasOwnerAuthorityはfalseです。
オーナーパスワードでloadするとhasOwnerAuthorityはtrueです。

ユーザーパスワードのみが設定されている場合、
ユーザーパスワードでloadするとhasOwnerAuthorityはtrueです。

オーナーパスワードのみが設定されている場合、
オーナーパスワードでloadするとhasOwnerAuthorityはtrueです。
パスワードの設定なしでloadするとhasOwnerAuthorityはfalseです。

戻り値
true: 暗号化されている、false: 暗号化されていない。
例外
PtlException

◆ hasRedaction()

bool PdfTk::PtlPDFDocument::hasRedaction ( ) const

Redaction注釈を持っているかどうかを取得。

PDF文書がRedaction注釈を持っているかどうかを取得します。

戻り値
true: 持っている、false: 持っていない。
例外
PtlException

◆ importAnnotsFromFDF()

void PdfTk::PtlPDFDocument::importAnnotsFromFDF ( PtlParamStream & inParam)

マークアップ注釈のFDFからのインポート。

マークアップ注釈をFDFから取り込みます。

引数
inParamInputParam
例外
PtlException

◆ importAnnotsFromPDF()

void PdfTk::PtlPDFDocument::importAnnotsFromPDF ( PtlParamStream & inParam)

マークアップ注釈のPDFからのインポート。

マークアップ注釈をPDFから取り込みます。

引数
inParamInputParam
例外
PtlException

◆ importFormFieldsFromFDF()

PtlFormFieldValues PdfTk::PtlPDFDocument::importFormFieldsFromFDF ( PtlParamStream & inParam)

フォームフィールドデータのFDFからのインポート。

フォームフィールドデータをFDFから取り込みフォームフィールドに設定します。

引数
inParamInputParam
戻り値
PtlFormFieldValues 設定できなかったフォームフィールド
例外
PtlException

◆ importFormFieldsFromXFDF()

void PdfTk::PtlPDFDocument::importFormFieldsFromXFDF ( PtlParamStream & inParam)

フォームフィールドデータのXFDF文書からのインポート。

フォームフィールドデータをXFDFから取り込みフォームフィールドに設定します。

引数
inParamIntputParam
例外
PtlException

◆ isEncrypted()

bool PdfTk::PtlPDFDocument::isEncrypted ( ) const

暗号化されているかどうかを取得。

戻り値
true: 暗号化されている、false: 暗号化されていない。
例外
PtlException

◆ isEncryptedOnlyEmbeddedFiles()

bool PdfTk::PtlPDFDocument::isEncryptedOnlyEmbeddedFiles ( ) const

添付ファイルのみ暗号化されているかどうかを取得。

戻り値
true: 暗号化されている、false: 暗号化されていない。
例外
PtlException

◆ isPDFA()

bool PdfTk::PtlPDFDocument::isPDFA ( ) const

PDF/Aかどうかを取得。

戻り値
true: PDF/A、false: PDF/Aでない。
例外
PtlException

◆ isPDFX()

bool PdfTk::PtlPDFDocument::isPDFX ( ) const

PDF/Xかどうかを取得。

戻り値
true: PDF/X、false: PDF/Xでない。
例外
PtlException

◆ isSignatured()

bool PdfTk::PtlPDFDocument::isSignatured ( ) const

署名付きかどうかを取得。

戻り値
true: 署名付き、false: 署名付きでない。
例外
PtlException

◆ load()

void PdfTk::PtlPDFDocument::load ( PtlParamStream & inParam)

PDF文書をロード。

引数
inParamInputParam
例外
PtlException

◆ operator=()

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

コピーオペレータ alias copy

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

◆ optimize()

bool PdfTk::PtlPDFDocument::optimize ( const PtlParamOptimize & paramOptimize)

最適化。

引数
paramOptimize最適化のパラメータ
戻り値
true: 最適化された、false: 最適化されない。
例外
PtlException

◆ removeEncrypt()

void PdfTk::PtlPDFDocument::removeEncrypt ( )

暗号化情報を削除。

例外
PtlException

◆ removeWaterMark()

void PdfTk::PtlPDFDocument::removeWaterMark ( const PtlParamString & name)

透かしを削除。

引数
name削除する透かしの名前
例外
PtlException

◆ resetForm()

void PdfTk::PtlPDFDocument::resetForm ( )

フォームフィールドデータのリセット。

すべてのフォームフィールドデータを初期化します。

例外
PtlException

◆ save()

void PdfTk::PtlPDFDocument::save ( PtlParamStream & outParam)

PDF文書を保存。

引数
outParamOutputParam
例外
PtlException

◆ searchText()

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

テキスト検索。

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

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

◆ searchTextAndDoProcess()

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

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

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

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

◆ setEncrypt()

void PdfTk::PtlPDFDocument::setEncrypt ( const PtlEncrypt & encrypt)

暗号化情報を設定。

※ 制限事項
元のPDFの暗号化が256ビットAES暗号化でユーザーパスワードとオーナーパスワードが設定されている場合に制限事項があります。
256ビットAES暗号化以外の暗号化に変更しユーザーパスワードを元のままとしたい場合はPtlEncryptStandardのsetUserPasswordで
元のユーザーパスワードを設定する必要があります。
また、V7.0以降のPDF Tool APIでは40bit暗号化が設定できません。
そのため、encryptにPtlEncryptStandard40RC4が設定されていた場合、実行時に例外が発生します。

引数
encrypt暗号化情報
例外
PtlException

◆ setExportEmptyDataFlg()

void PdfTk::PtlPDFDocument::setExportEmptyDataFlg ( bool flg)

空データ出力フラグの設定。

空のフォームフィールドデータを出力するかどうかを設定します。

例外
PtlException

◆ setMaskUsingRedaction()

void PdfTk::PtlPDFDocument::setMaskUsingRedaction ( )

Redaction注釈をもとにマスク処理(墨消し)。

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

例外
PtlException

◆ setPassword()

void PdfTk::PtlPDFDocument::setPassword ( const PtlParamString & password)

パスワードを設定。

引数
passwordパスワード。
例外
PtlException

◆ setPKCS12()

void PdfTk::PtlPDFDocument::setPKCS12 ( PtlParamStream & inPKCS12)

PKCS#12を設定。

証明書セキュリティの設定されたPDFを読むときに必要なPKCS#12形式の証明書を設定します。

引数
inPKCS12PKCS12ストリーム。
例外
PtlException

◆ setRestriction()

void PdfTk::PtlPDFDocument::setRestriction ( const PtlParamRestriction & restriction)

閲覧制限を設定。

注意:
閲覧制限の内容を解析されないようオーナーパスワードの設定は必ず行ってください。

引数
restriction閲覧制限のパラメータ
例外
PtlException

◆ setSaveOption()

void PdfTk::PtlPDFDocument::setSaveOption ( SAVE_OPTION option)

保存時のオプションを設定。

オプションを設定しないと再構築して保存されます。

引数
option保存オプション。
例外
PtlException