THotPDF.LoadFromStream

THotPDF

 

先頭  前へ  次へ

既存の PDF ファイルをストリームから読み込みます

 

Delphi 構文:

function LoadFromStream ( DocStream: TStream ): Integer;

function LoadFromStream ( DocStream: TStream; const Password: AnsiString ): Integer;

function LoadFromStream ( DocStream: TStream; AutoDecrypt: Boolean ): Integer;

 

C++ 構文:

int __fastcall LoadFromStream ( Classes::TStream* DocStream );

int __fastcall LoadFromStream ( Classes::TStream* DocStream, System::AnsiString Password );

int __fastcall LoadFromStream ( Classes::TStream* DocStream, bool AutoDecrypt );

 

Description

LoadFromStream を呼び出すと、既存の PDF ドキュメントをストリームから読み込みます。LoadFromStream 関数は、読み込んだドキュメントのページ数を返します

対応する RC4 / AES Standard 暗号化 PDF には、パスワード付きオーバーロードを使ってください。HotPDF はユーザーまたはオーナーのパスワードを検証し、シーク可能なストリームでは境界付き trailer、xref、ドキュメント ID、暗号化辞書の範囲からファイルキーを復元し、読み込んだ文字列とストリームをメモリ内で復号し、読み込まれた暗号化状態をクリアして、SaveLoadedDocument に暗号化されていないコピーを書き込ませます。パスワードなしでの読み込みでは、生の暗号化オブジェクトを権威ある xref オフセットで取得するため、入力ストリームを解放した後でも、後から DecryptLoadedDocument を呼び出せば正確なバイナリのセキュリティハンドラー値を使えます。対応しない暗号化リビジョンは例外を発生させます。境界付きキー復元は HotPDF v2.489.0 から、再読み取り不要の遅延復号は HotPDF v2.490.0 から利用できます

AutoDecrypt オーバーロードは、ビューアと同じやり方でドキュメントを開きます。AutoDecrypt が True で、ドキュメントが空のユーザーパスワードで暗号化されている場合(権限だけを制限するドキュメントはこの形式で書き出されます)は、パスワード付きオーバーロードに空のパスワードを渡した場合とまったく同じようにメモリ内で復号されるため、テキストの抽出、レンダリング、エクスポートが可能になります。このとき IsEncrypted は False になり、後で SaveLoadedDocument を呼び出すと暗号化されていないコピーが書き込まれます。パスワードが必要なドキュメントも、暗号化されていないドキュメントも、通常のオーバーロードと同じように読み込まれます。空のパスワードで開けるかどうかは、同じ境界付き範囲から先に確認され、ドキュメントが 2 度読み込まれることはありません。AutoDecrypt が False の場合、このオーバーロードは通常のオーバーロードと同じです

既存の PDF オブジェクトを取り込む際、HotPDF は ISO 32000-1 の PDF 名 #XX エスケープシーケンスをデコードしてから内部的に名前値を保存します。/PANTONE#20216#20CVC、/lime#20Green、/The_Key_of_F#23_Minor といった名前は、意図されたバイト値のまま保持され、後でドキュメントをコピーまたは保存しても失われません

 

 

 

関連項目: LoadFromFile, LoadFromRandomAccessSource, DecryptLoadedDocument