Windowsでunicode(times new roman)フォントを使用すると、PdfTextFormFieldはすべての文字を正しく表示します。でもűőöüéなど しかし、私はオプション値で、コンボボックスフィールドを作成しようとすると: まず 第二 第三に、 はその後、PDFのオプションは次のようになります。 IRS 電子 HIR に私はデフォルトのフォントを使用する場合は、オプションの発送はOKですが、明らかにűööüé文字はゴミ箱です。 サンプルコード:itext 7.0.1 PdfChoiceFormField不足している文字
import com.itextpdf.io.font.PdfEncodings;
import com.itextpdf.kernel.geom.Rectangle;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.forms.PdfAcroForm;
import com.itextpdf.forms.fields.PdfChoiceFormField;
import com.itextpdf.forms.fields.PdfTextFormField;
import com.itextpdf.forms.fields.PdfFormField;
public class ComboTest {
public static final String FONT = "c:/windows/fonts/times.ttf";
public static void main(String args[]) {
try {
PdfDocument pdfDoc = new PdfDocument(new PdfWriter("combobox.pdf"));
PdfFont font = PdfFontFactory.createFont(FONT, PdfEncodings.IDENTITY_H);
String[] values = {"First","Second","Third"};
PdfTextFormField text = PdfFormField.createText(
pdfDoc,
new Rectangle(72,200,108,26),
"text",
"Árvíztűrő tükörfúrógép",
font,
12.0f
);
PdfChoiceFormField combo = PdfFormField.createComboBox(
pdfDoc,
new Rectangle(36, 780, 108, 26),
"combo",
"Choose your poison",
values
);
combo.setFontAndSize(font,12);
PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, true);
form.addField(combo);
form.addField(text);
pdfDoc.close();
} catch(Exception ex) {
System.out.println(ex.toString());
}
}
}
私の質問はなぜですか?
これは本当にcuriouseです。私はそれを自分で試しました。デフォルトのオプションを "毒を選ぶ"から "二次"に変更すると、 "Second"が正しく表示されます。どのITextバージョンを使用していますか? – GAlexMES
@GAlexMES 7.0.1、OPの質問タイトルに従って。 –
@AmedeeVanGasseありがとう...:D – GAlexMES