0

この(FirstPDF) を使用して、「new Date()」文を削除して 2 つの PDF を生成しました。

それらは同じように見えますが、md5 ハッシュを計算すると、実際には異なります。

私が調べたところ、ソースコードにcreationDateその文document.addCreationDate()が含まれていなくても、 が登録されています。

質問は非常に簡単です: API を使用して、バイト単位で正確に等しい 2 つの PDF を生成することは可能ですか?

4

3 に答える 3

5

これがどうあるべきかです。メタデータの日付とは別に、PDF がゼロから生成されるたびに追加される一意の ID もあります。

から

于 2012-06-27T07:36:41.180 に答える
1

同じ MD5 ハッシュを提供する 2 つの同一のファイルが必要な場合は、既に作成されているファイルをコピーしないでください。

2 つの別個の API 呼び出しによって 2 つの同一のファイルを作成する必要がある場合は、費用に見合うだけの PDF 作成 API を使用できます。

  • これらの各 API には、出力 PDF の作成日と変更日を必要な値に設定するための呼び出しが含まれているため、この設定が自動的に行われないようにしてください。同じ設定を 2 回使用します。
  • 注意!PDF はドキュメント UUID の設定もサポートしています。これらの API の中には、積極的に防止しない限り、新しいドキュメントごとに任意の UUID を設定するものもあります (MD5 ハッシュが壊れます)。
于 2012-06-29T16:12:08.247 に答える
1

hereで説明されているように、ファイルは異なる識別子を持っているため、同じではありません (異なる時点で作成された 2 つのファイルは、PDF 仕様で定義されているように異なる ID を持つ必要があります)。

ファイル識別子は通常、日付、パス名、ファイルのサイズ、PDF ファイルのコンテンツの一部 (情報辞書のエントリなど) に基づいて作成されたハッシュです。
.
ドキュメントの暗号化には、ファイル識別子が含まれます (必須です)。その結果、異なるファイル識別子を持つ暗号化された PDF ファイルは、完全に異なるストリームを持つことになります。

設計上、同じコードを使用して 2 つの同一の PDF を作成することはできません。

于 2014-05-27T08:18:40.673 に答える