この例(FirstPDF) を使用して、「new Date()」文を削除して 2 つの PDF を生成しました。
それらは同じように見えますが、md5 ハッシュを計算すると、実際には異なります。
私が調べたところ、ソースコードにcreationDate
その文document.addCreationDate()
が含まれていなくても、 が登録されています。
質問は非常に簡単です: API を使用して、バイト単位で正確に等しい 2 つの PDF を生成することは可能ですか?
この例(FirstPDF) を使用して、「new Date()」文を削除して 2 つの PDF を生成しました。
それらは同じように見えますが、md5 ハッシュを計算すると、実際には異なります。
私が調べたところ、ソースコードにcreationDate
その文document.addCreationDate()
が含まれていなくても、 が登録されています。
質問は非常に簡単です: API を使用して、バイト単位で正確に等しい 2 つの PDF を生成することは可能ですか?
これがどうあるべきかです。メタデータの日付とは別に、PDF がゼロから生成されるたびに追加される一意の ID もあります。
同じ MD5 ハッシュを提供する 2 つの同一のファイルが必要な場合は、既に作成されているファイルをコピーしないでください。
2 つの別個の API 呼び出しによって 2 つの同一のファイルを作成する必要がある場合は、費用に見合うだけの PDF 作成 API を使用できます。
hereで説明されているように、ファイルは異なる識別子を持っているため、同じではありません (異なる時点で作成された 2 つのファイルは、PDF 仕様で定義されているように異なる ID を持つ必要があります)。
ファイル識別子は通常、日付、パス名、ファイルのサイズ、PDF ファイルのコンテンツの一部 (情報辞書のエントリなど) に基づいて作成されたハッシュです。
.
ドキュメントの暗号化には、ファイル識別子が含まれます (必須です)。その結果、異なるファイル識別子を持つ暗号化された PDF ファイルは、完全に異なるストリームを持つことになります。
設計上、同じコードを使用して 2 つの同一の PDF を作成することはできません。