2009-03-09 9 views
12

J'ai un fichier PDF qui a été créé en utilisant le concepteur de formulaire Foxit. Sur mon système de conception, j'ai la police de code à barres installée. La police de code à barres est utilisée dans l'un des AcroFields. Il semble que foxit n'incorpore pas la police dans le document.Itext intègre la police dans un PDF

J'ai également des clients qui n'ont pas la police de code à barres installée dans leurs ordinateurs, et donc je voudrais intégrer la police dans le PDF. Est-ce qu'il y a un moyen pour moi d'intégrer une police utilisée dans les AcroFields dans le PDF en utilisant iText?

EDIT: La police semble être incluse dans le texte, mais pas les champs, Par conséquent, la police (code-barres) ne s'imprimera pas.

Répondre

9

Je suis presque sûr que vous avez une réponse à ce jour, mais peut-être que d'autres voudraient avoir une vue détaillée sur la solution. Ci-dessous l'exemple de code Java que j'ai utilisé pour incorporer des polices dans le PDF généré (utile seulement dans certains cas, car la taille des documents augmente considérablement). Comme un outil gratuit pour créer des formulaires PDF, je l'ai utilisé l'écrivain OpenOffice, en ajoutant des formes à l'intérieur des documents et l'exportation des documents sous forme de fichiers PDF:

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

Je rencontrais presque le même problème et je l'ai fait le même que vous, mais je ne peux toujours pas intégrer la police pour ces textes que je sais en utilisant Java, pouvez-vous jeter un oeil à [ma question] (http://stackoverflow.com/questions/34335481/how-to-embed -font-après-flattening-template-using-itext)? Merci d'avance! – Elderry

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

Cela devrait faire l'affaire.

Questions connexes