[英]Barcode4j not working (on Unix)
对于我的项目,我需要为 PDF 生成条形码。
我已经能够在本地 Windows Server 上成功生成条形码,但在生产 UNIX 服务器上,生成失败了。
我使用barcode4j,需要生成code39。
我的模板:
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:bc="http://barcode4j.krysalis.org/ns"
xmlns:barcode="org.krysalis.barcode4j.xalan.BarcodeExt"
extension-element-prefixes="barcode"
exclude-result-prefixes="fo">
<xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="no" indent="yes"/>
<xsl:param name="versionParam" select="'1.0'"/>
<xsl:template match="anforderung">
<xsl:call-template name="barcode">
<xsl:with-param name="code" select="barcode/code" />
<xsl:with-param name="codeoriginal" select="barcode/codeoriginal" />
</xsl:call-template>
</xsl:template>
<xsl:template name="barcode">
<xsl:param name="code" />
<xsl:param name="codeoriginal" />
<fo:block keep-together="always">
<!-- message für barcode -->
<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 font-weight="bold" margin-left="0.3in">
<fo:table table-layout='fixed' width="100%">
<fo:table-column column-width="8.2cm" />
<fo:table-column column-width="12cm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:instream-foreign-object>
<xsl:variable name="bc" select="barcode:generate($barcode-cfg, barcode/code)" />
<xsl:copy-of select="$bc" />
<!--xsl:copy-of select="barcode:generate(barcode-cfg, msg)"/-->
</fo:instream-foreign-object>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block text-align="justify" font-size="32pt">
<xsl:value-of select="$codeoriginal" />
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:block>
</xsl:template>
我的图书馆:
也许检查您正在运行的 java 版本(java -version)。
例如,如果您使用 GJC,某些程序将无法正常运行。 在这种情况下,获取 OpenJDK 或 Oracle JDK 并重试。
Avalon Framework 类 DefaultConfiguration 中的 NoSuchMethodError 意味着您的类路径中可能有一个较旧的 Avalon Framework。 请确保您拥有 Avalon Framework 4.2.0 或更高版本。 您可以在 Barcode4J 的 lib 目录中找到它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.