Frage

Ich habe eine pdf, die mit dem Foxit Formular-Designer erstellt wurde. Auf meinem Design-System habe ich die Barcode-Schriftart installiert. Die Barcode-Schriftart ist in einem der AcroFields verwendet. Es scheint, dass foxit nicht die Schriftart in dem Dokument nicht einbetten.

Ich habe auch Kunden, die den Barcode-Font in ihren Computern nicht installiert haben, und so würde Ich mag die Schrift in die PDF einzubetten. Gibt es eine Möglichkeit für mich, eine Schrift einbetten, die in den AcroFields in die PDF-Datei mit iText verwendet wird?

EDIT: Die Schrift scheint in dem Text aufgenommen zu werden, aber nicht die Felder, daher die Schriftart (Barcode) werden nicht gedruckt

.
War es hilfreich?

Lösung

Ich bin fast sicher, dass Sie eine Antwort jetzt bekam, aber vielleicht würden andere wie eine detaillierte Sicht auf die Lösung zu erhalten. Im Folgenden finden Sie die Beispiel-Java-Code I verwendeten Schriften in der generierten PDF einbetten (nur sinnvoll, in einigen Fällen, wie die Größe der Dokumente drastisch erhöht). Als kostenloses Tool die PDF-Formulare zu erstellen, habe ich den Openoffice Writer verwendet wird, durch Formen in den Dokumenten und den Export der Dokumente als PDF-Dateien hinzufügen:

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();

Andere Tipps

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

Das sollte den Trick tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top