Domanda

Ho un pdf che è stato creato usando il designer di moduli Foxit. Sul mio sistema di progettazione, ho installato il carattere del codice a barre. Il carattere del codice a barre viene utilizzato in uno degli AcroField. Sembra che foxit non incorpori il carattere nel documento.

Ho anche clienti che non hanno il font con codice a barre installato nei loro computer, e quindi vorrei incorporare il font nel PDF. Esiste un modo per incorporare un carattere utilizzato negli AcroField nel PDF usando iText?

MODIFICA: il carattere sembra essere incluso nel testo, ma non nei campi, pertanto il carattere (codice a barre) non verrà stampato.

È stato utile?

Soluzione

Sono quasi sicuro che tu abbia già ricevuto una risposta, ma forse altri vorrebbero avere una visione dettagliata della soluzione. Di seguito è riportato il codice java di esempio che ho usato per incorporare i caratteri nel PDF generato (utile solo in alcuni casi, poiché la dimensione dei documenti aumenta notevolmente). Come strumento gratuito per creare i moduli PDF, ho usato OpenOffice writer, aggiungendo moduli all'interno dei documenti ed esportando i documenti come file 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();

Altri suggerimenti

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

Questo dovrebbe fare il trucco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top