5

PDFTk を使用して PDF ドキュメントに入力しようとしています。スクリプトは正常に動作し、フォームに入力を入力しますが、特殊文字 [研磨文字セット: UTF-8 または ISO-8859-2] を取得できません。

スクリプト: https://github.com/mikehaertl/php-pdftk

奇妙なことに、フィールドをクリックすると、生成された pdf に実際に洗練された文字が表示されます。

クリック前:

ここに画像の説明を入力

フィールドをクリックした後:

ここに画像の説明を入力


デフォルトのエンコーディングは UTF-8 に設定されています。問題は、PDFTk が FDF フォーム フィルで標準 ASCII 以外の文字を使用できないことです。マルチバイト文字は使用できません。

私がしたこと:

  1. PDF ファイルにフォントを追加します (オンにすると、ファイルにフォントが含まれます)。
  2. デフォルトのフォント (Arial) を使用して PDF ファイルにフィールドを作成する
  3. スクリプト (関数 fillForm) のエンコーディングを ISO-8859-2 に変更します
  4. データ値のエンコーディングを変更する (iconv または mb_convert_encoding)
  5. 関数のエンコーディングとデータ値のエンコーディングを ISO-8859-2 に変更
  6. フォームに入力した後にPDFを平坦化
  7. stackoverflow、google でこの問題に関するすべてのトピックを読む

更新 (25.03.2016) : PDF ドキュメントが一部のコンピューターで正常に動作することがわかりました。洗練されたキャラクターを持っている人もいれば、そうでない人もいます。私たちは皆、適切なフォントを持っています (ポーランド語の文字セットを使用)。デフォルトの Arial または Times New Roman を使用しました。フォントもそのファイルに埋め込まれています。

何か案は?

4

4 に答える 4

0

同様の問題がありました。関数で解決しましたutf8_decode。例えばutf8_decode('Łukasz')

于 2018-07-30T10:40:40.860 に答える
-1

フォントを変更する方法が見つからなかったので、私の解決策 - itext を使用します https://itextpdf.com/en/resources/examples/itext-5/filling-out-forms

私のプロジェクトのために書いたhttps://github.com/dddeeemmmooonnn/pdf_form_filler

于 2019-03-20T05:26:57.770 に答える