Ich arbeite an einem Projekt, das Rechnungen im PDF-Format aus XML-Daten von einer anderen Software erzeugt, und eine der Anforderungen dieser Rechnungen besteht darin, Barcodes für einige von die Knotendaten und platziere sie im Formular. Im Idealfall würden die Barcodes aus der Vorlage generiert, anstatt ein anderes Programm aufzurufen, um sie zu generieren, und dann die Vorlage versuchen, sie als PNGs oder ein anderes Bildformat zu finden.Erstellen von Barcodes in einer Vorlage für die Verwendung mit Apache FOP
Ich habe versucht, die Erweiterung barcode4j, aber ohne Ergebnisse.
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:barcode="http://barcode4j.krysalis.org/ns" font-size="10pt">
<fo:layout-master-set>
<fo:simple-page-master master-name="master0" page-width="21.0cm" page-height="29.7cm" margin-top="0.0cm" margin-bottom="0.5cm" margin-left="0.5cm" margin-right="0.25cm">
<fo:region-body region-name="body0" margin-top="0.5cm" margin-bottom="0.5cm"/>
<fo:region-before region-name="header0" extent="1.5cm"/>
<fo:region-after region-name="footer0" extent="1.89cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="master0">
<fo:flow flow-name="body0">
<xsl:variable name="CheckMaster" select="count(master_bill_of_lading/details/orders/order)"/>
<xsl:variable name="country" select="master_bill_of_lading/header/Country"/>
<xsl:variable name="barcode-cfg">
<barcode>
<code39>
<height>16mm</height>
<module-width>0.3mm</module-width>
<human-readable>
<placement>none</placement>
</human-readable>
</code39>
</barcode>
</xsl:variable>
<fo:block>
<fo:instream-foreign-object>
<xsl:variable name="bc" select="barcode:generate($barcode-cfg, 123456)" />
<xsl:copy-of select="$bc" />
</fo:instream-foreign-object>
...
Abgesehen davon versucht zu haben, jede Lösung, die mir die Strichcodes in der Vorlage zu erzeugen, ermöglicht würde enorm geschätzt , da es äußerst schwierig ist, konsistente Online-Verweise auf angebliche Lösungen zu finden.
Edit: Ich war in der Lage, dieses Problem zu lösen, um die FOP Erweiterung barcode4j verwenden, die nur erfordert, dass Sie die mitgelieferten Gläser auf den Pfad und lib Ordner in FOP fügen Sie dann einen Strichcode erstellen innerhalb eines fo mit: instream- Fremdobjektblock