Question

J'ai un fichier PDF créé à l'aide du concepteur de formulaires Foxit. Sur mon système de conception, la police de code à barres est installée. La police de code à barres est utilisée dans l’un des AcroFields. Il semble que foxit n’intègre pas la police dans le document.

J'ai également des clients pour lesquels la police de code à barres n'est pas installée sur leur ordinateur. J'aimerais donc l'intégrer au PDF. Comment puis-je incorporer une police utilisée dans AcroField dans le fichier PDF à l'aide d'iText?

MODIFIER: La police semble être incluse dans le texte, mais pas les champs. Par conséquent, la police (code à barres) ne sera pas imprimée.

Était-ce utile?

La solution

Je suis presque sûr que vous avez obtenu une réponse à ce stade, mais d’autres aimeraient peut-être avoir une vue détaillée de la solution. Vous trouverez ci-dessous un exemple de code java que j'ai utilisé pour incorporer des polices dans le fichier PDF généré (utile uniquement dans certains cas, car la taille des documents augmente considérablement). En tant qu'outil gratuit pour créer les formulaires PDF, j'ai utilisé le rédacteur OpenOffice en ajoutant des formulaires dans les documents et en exportant les documents au format 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();

Autres conseils

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

Cela devrait faire l'affaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top