1

iText で奇妙な問題が発生しています。いくつかのフィールドを持つドキュメントがあります。私のサーバーでは、ローカル ドキュメントを開き、フィールドを設定して、スタンパーの出力をブラウザーに送信します。

私のローカル開発マシンで完璧に動作します。

サーバー上で生成された PDF に PDF コンテンツがありません。設定したフィールドの内容のみが表示され、残りは完全に空白です。

任意のヒント?

4

1 に答える 1

2

ローカル マシン上のアプリケーションは、テンプレートとして使用している PDF のバイトを尊重します。サーバー上のアプリケーションは、これらのバイトを尊重しません。間違ったエンコーディングを使用してテンプレートをコピーしたために、すべてのバイナリ文字が破損している可能性があります。または、アプリケーションが間違ったエンコーディングを使用してテンプレートを読み取っていて、同じ結果になっている可能性があります。

PDF ファイルをテキスト エディター (PDF ビューアー内ではなく) で開くと確認できます。キーワードを探し、streamこのキーワードに続くバイトを調べます。違いがわかりますか?ローカル マシンで生成された PDF では、バイトは通常のバイナリ ストリームのように見えます。サーバーで生成された PDF では、バイトが不自然に見えます。たとえば、たくさんの疑問符で構成されています。

解決方法: テンプレートが正しくコピーされたかどうかを確認してください。その場合は、ドキュメントの読み方を確認してください。例: iText を使用せずに PDF テンプレートをバイト配列に読み取り、それを新しいバイト配列に書き込みます。破損のプロセスを再現できますか? その場合は、正しいエンコーディングが得られるまで、アプリケーション (iText を含まないアプリケーション) を微調整してください。

于 2013-11-11T12:39:00.447 に答える