0

PDFStamperを使用して、いくつかのアラビア語データをアクロフィールドに入力しました。英語で正常に機能しているときにフォームを平坦化すると、テキストが消えます。ガイドしてください。

     BaseFont unicode = null;
     unicode = BaseFont.createFont("D:/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
     form.setGenerateAppearances(true);
     form.addSubstitutionFont(unicode);
     form.setField("TextBox","اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب اب");
     stamper.setFormFlattening(true);
4

2 に答える 2

0

コードを保存、コンパイル、または実行するときのエンコードの問題である可能性があります (つまり、問題は iText とは関係ありません)。これは私が試したコードです:

PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
AcroFields form = stamper.getAcroFields();
BaseFont unicode =
    BaseFont.createFont("c:/windows/fonts/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
form.addSubstitutionFont(unicode);
form.setField("description", "\u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627 \u0628\u0627");
stamper.close();
reader.close();

結果は次のようになります。

ここに画像の説明を入力

于 2014-06-20T09:43:41.347 に答える
0

私は同じ問題を抱えていました。adobe acrobat pro で sourec pdf を再作成し、テキストボックスのフォントを arial のような OS の既知のフォントのいずれかに設定する必要があります。

幸運を。

于 2016-07-09T13:52:25.450 に答える