PDFTool 7.0
PdfTk::PtlPDFDocument Class Reference

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

#include <PtlPDFDocument.h>

Public Types

enum  SAVE_OPTION { SAVE_RECONSTRUCT = 0 , SAVE_LINEARIZE = 1 , SAVE_INCREMENTAL_UPDATE = 2 }
 保存オプション More...
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_UNKNOWN = 1000
}
 PDF/Aのタイプ More...

Public Member Functions

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)
 空データ出力フラグの設定。
int searchTextAndDoProcess (const PtlParamSearchText &paramSearchText)
 テキスト検索して後処理。
PtlSearchTextResults searchText (const PtlParamSearchText &paramSearchText)
 テキスト検索。

Detailed Description

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

Member Enumeration Documentation

◆ PDFA_TYPE

PDF/Aのタイプ

Enumerator
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_UNKNOWN 

PDF/A-?

??

◆ SAVE_OPTION

保存オプション

Enumerator
SAVE_RECONSTRUCT 

再構築(デフォルト)

SAVE_LINEARIZE 

リニアライズ

SAVE_INCREMENTAL_UPDATE 

増分更新

Constructor & Destructor Documentation

◆ PtlPDFDocument() [1/2]

PdfTk::PtlPDFDocument::PtlPDFDocument ( )

コンストラクタ

Exceptions
PtlException

◆ PtlPDFDocument() [2/2]

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

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

Parameters
objコピー元オブジェクト。
Exceptions
PtlException

Member Function Documentation

◆ appendWaterMark()

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

透かしを設定。

Parameters
waterMark透かしのパラメータ
Exceptions
PtlException

◆ embedFonts()

bool PdfTk::PtlPDFDocument::embedFonts ( )

フォント埋め込み。

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

Returns
true: フォント埋め込みされた、false: フォント埋め込みされない。
Exceptions
PtlException

◆ exportAnnotsToFDF()

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

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

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

Parameters
outParamOutputParam
Exceptions
PtlException

◆ exportFormFieldsToFDF()

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

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

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

Parameters
outParamOutputParam
Exceptions
PtlException

◆ exportFormFieldsToXFDF()

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

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

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

Parameters
outParamOutputParam
Exceptions
PtlException

◆ getDocProperty()

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

文書プロパティを取得。

Returns
文書プロパティ。
Exceptions
PtlException

◆ getEmbeddedFiles()

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

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

Returns
添付ファイルコンテナ。
Exceptions
PtlException

◆ getEncrypt()

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

暗号化情報を取得。

Returns
暗号化情報。PtlEncryptStandardType1若しくはPtlEncryptStandardType2。
Exceptions
PtlException

◆ getPageCount()

int PdfTk::PtlPDFDocument::getPageCount ( ) const

ページ数を取得。

Returns
ページ数

◆ getPages()

PtlPages & PdfTk::PtlPDFDocument::getPages ( )

ページコンテナを取得。

Returns
ページコンテナ。
Exceptions
PtlException

◆ getPDFAType()

PDFA_TYPE PdfTk::PtlPDFDocument::getPDFAType ( ) const

PDF/Aタイプを取得。

Returns
PDFA_TYPE。
Exceptions
PtlException

◆ getRootOutline()

PtlOutline PdfTk::PtlPDFDocument::getRootOutline ( ) const

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

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

Returns
ルートアウトライン。
Exceptions
PtlException

◆ hasEmbeddedFiles()

bool PdfTk::PtlPDFDocument::hasEmbeddedFiles ( ) const

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

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

Returns
true: 持っている、false: 持っていない。
Exceptions
PtlException

◆ hasOutlines()

bool PdfTk::PtlPDFDocument::hasOutlines ( ) const

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

Returns
true: 持っている、false: 持っていない。
Exceptions
PtlException

◆ hasOwnerAuthority()

bool PdfTk::PtlPDFDocument::hasOwnerAuthority ( ) const

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

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

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

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

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

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

Returns
true: 暗号化されている、false: 暗号化されていない。
Exceptions
PtlException

◆ importAnnotsFromFDF()

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

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

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

Parameters
inParamInputParam
Exceptions
PtlException

◆ importAnnotsFromPDF()

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

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

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

Parameters
inParamInputParam
Exceptions
PtlException

◆ importFormFieldsFromFDF()

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

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

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

Parameters
inParamInputParam
Returns
PtlFormFieldValues 設定できなかったフォームフィールド
Exceptions
PtlException

◆ importFormFieldsFromXFDF()

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

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

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

Parameters
inParamIntputParam
Exceptions
PtlException

◆ isEncrypted()

bool PdfTk::PtlPDFDocument::isEncrypted ( ) const

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

Returns
true: 暗号化されている、false: 暗号化されていない。
Exceptions
PtlException

◆ isEncryptedOnlyEmbeddedFiles()

bool PdfTk::PtlPDFDocument::isEncryptedOnlyEmbeddedFiles ( ) const

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

Returns
true: 暗号化されている、false: 暗号化されていない。
Exceptions
PtlException

◆ isPDFA()

bool PdfTk::PtlPDFDocument::isPDFA ( ) const

PDF/Aかどうかを取得。

Returns
true: PDF/A、false: PDF/Aでない。
Exceptions
PtlException

◆ isPDFX()

bool PdfTk::PtlPDFDocument::isPDFX ( ) const

PDF/Xかどうかを取得。

Returns
true: PDF/X、false: PDF/Xでない。
Exceptions
PtlException

◆ isSignatured()

bool PdfTk::PtlPDFDocument::isSignatured ( ) const

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

Returns
true: 署名付き、false: 署名付きでない。
Exceptions
PtlException

◆ load()

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

PDF文書をロード。

Parameters
inParamInputParam
Exceptions
PtlException

◆ operator=()

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

コピーオペレータ alias copy

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

◆ optimize()

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

最適化。

Parameters
paramOptimize最適化のパラメータ
Returns
true: 最適化された、false: 最適化されない。
Exceptions
PtlException

◆ removeEncrypt()

void PdfTk::PtlPDFDocument::removeEncrypt ( )

暗号化情報を削除。

Exceptions
PtlException

◆ removeWaterMark()

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

透かしを削除。

Parameters
name削除する透かしの名前
Exceptions
PtlException

◆ resetForm()

void PdfTk::PtlPDFDocument::resetForm ( )

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

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

Exceptions
PtlException

◆ save()

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

PDF文書を保存。

Parameters
outParamOutputParam
Exceptions
PtlException

◆ searchText()

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

テキスト検索。

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

Parameters
paramSearchTextテキスト検索のパラメータ
Returns
PtlSearchTextResults。
Exceptions
PtlException

◆ searchTextAndDoProcess()

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

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

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

Parameters
paramSearchTextテキスト検索のパラメータ(PtlParamSearchTextAndHighlight若しくはPtlParamSearchTextAndSetMask)
Returns
検索されたテキストの数。
Exceptions
PtlException

◆ setEncrypt()

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

暗号化情報を設定。

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

Parameters
encrypt暗号化情報
Exceptions
PtlException

◆ setExportEmptyDataFlg()

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

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

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

Exceptions
PtlException

◆ setPassword()

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

パスワードを設定。

Parameters
passwordパスワード。
Exceptions
PtlException

◆ setPKCS12()

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

PKCS#12を設定。

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

Parameters
inPKCS12PKCS12ストリーム。
Exceptions
PtlException

◆ setRestriction()

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

閲覧制限を設定。

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

Parameters
restriction閲覧制限のパラメータ
Exceptions
PtlException

◆ setSaveOption()

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

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

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

Parameters
option保存オプション。
Exceptions
PtlException