2009-03-09 19 views
12

にフォントを埋め込みます。私のデザインシステムでは、バーコードフォントがインストールされています。バーコードフォントは、AcroFieldの1つで使用されます。 foxitは文書にフォントを埋め込んでいないようです。iTextのは、私がFoxitのフォーム・デザイナを使用して作成されたPDFファイルを持っているPDF

また、私は自分のコンピュータにインストールされたバーコードフォントを持っていない顧客を持っているので、私はPDFにフォントを埋め込むしたいと思います。 iTextのを使用してPDFにAcroFieldsで使用されているフォントを埋め込むための私のための方法はありますか?

編集:フォントはテキストに含まれているように見えますが、フィールドには含まれていないようです。したがって、フォント(バーコード)は印刷されません。

答えて

9

私はあなたが今では答えを得たことはほぼ確信している、多分他の人は、ソリューションに関する詳細なビューを取得したいと思います。以下は、生成されたPDFにフォントを埋め込むために使用したサンプルJavaコードです(ドキュメントのサイズが劇的に増加する場合にのみ便利です)。 PDFフォームを作成するための無料のツールとして は、私が文書内のフォームを追加し、PDFファイルとして文書をエクスポートすることで、OpenOfficeのライターを使用しています

PdfReader pdfTemplate = new PdfReader(templateName); 
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
BaseFont unicode = BaseFont.createFont(unicodeFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 
PdfStamper stamper = new PdfStamper(pdfTemplate, out); 
//assigning the font to the field 
stamper.getAcroFields().setFieldProperty("myField", "textfont", unicode, null); 
stamper.getAcroFields().setField("myField", someValue); 
stamper.close(); 
pdfTemplate.close(); 
+0

を私はほとんど同じ問題を満たしていると私は行っていますあなたと同じですが、私はまだ私はJavaを使用して入力したテキストのフォントを埋め込むことはできません、あなたは[私の質問](http://stackoverflow.com/questions/34335481/how-to-embed -font-after-flattening-template-using-itext)?前もって感謝します! – Elderry

1
PdfContentByte ab = yourPDFWriter.getDirectContent(); 
// field: PdfFormField.createTextField(...); 
PdfAppearance ap = ab.createAppearance(320, 30); // size of field 
field.setDefaultAppearanceString(ap); 

これはすべきことです。

関連する問題