RepairQDFFile
デバッグ、ドキュメント修復
説明
人による編集でストリーム長またはオブジェクトのバイト位置が変化した QDF PDF を修復します
修復パスは古い相互参照オフセットを信頼せずにオブジェクト境界を走査し、ストリーム長を再計算し、間接長オブジェクトを更新して、フリーリスト、相互参照テーブル、トレーラー、startxref、/Size を再構築します
オブジェクトに曖昧さのない QDF ストリームマーカーがある場合、endstream や endobj の行を含むストリームデータは保持されます。無効な QDF 入力や同一オブジェクトのマーカー重複は出力先を開く前に拒否されるため、インプレース修復の実行中でも既存の出力ファイルはそのまま残ります
構文
Delphi
Function TPDFlib.RepairQDFFile(Const InputFileName, OutputFileName: WideString): Integer;DLL
int DLRepairQDFFile(int InstanceID, const wchar_t* InputFileName, const wchar_t* OutputFileName);ActiveX
Function PDFlib::RepairQDFFile(InputFileName As String, OutputFileName As String) As Longパラメータ
| InputFileName | 編集済み QDF PDF |
|---|---|
| OutputFileName | 修復済み PDF のパスです。入力パスと同じでもかまいません |
戻り値
| 1 | 編集済み QDF が修復されました |
|---|---|
| 0 | 入力が修復可能な QDF でないか、出力先へ書き込めませんでした |
エラー
LastErrorCode 106 は無効な QDF 構造、107 は修復失敗、305 は出力書き込み失敗を報告する
備考
宛先が置き換えられる前にソース全体を読み取るため、インプレース修復は安全です