用itext解决基本字体错误的任何方法。
我已在互联网上搜索以解决此错误:
线程“main”中的异常java.lang.NoSuchMethodError:com.lowagie.text.pdf.BaseFont.getCharBBox(I)[I
它似乎是一个平台错误。我在窗口操作系统中使用eclipse,并且在我使用的每种渲染器中都需要使用itext,我会一直收到错误。
我知道并不是唯一遇到此错误的人。 我使用飞碟从xhtml创建pdf时遇到了同样的错误。 我也尝试使用docx4j for xhtml to docx convertion。
我想知道是否有解决此基本字体错误的方法
答案 0 :(得分:0)
经过几个小时的挫折,我终于解决了我的问题。 我在此链接中找到了版本签名的解决方案: https://groups.google.com/forum/#!msg/flying-saucer-users/5yXdrIpNnSs/YwY-oETKXD8J
您只需使用包含getCharBBox(I)[I方法的itext版本。 您还可以使用itext5 XML Worker或itext7 pdfHTML来执行html到pdf的转换。
正如Bruno Lowagie建议的那样,但对于我的情况,我使用docx4j将xhtml转换为docx,我真的需要渲染器需要的itext版本。 Itext-2.1.x和飞碟9.0.2 解决了我的问题。两者都是可指定的趋势https://groups.google.com/forum/#!msg/flying-saucer-users/5yXdrIpNnSs/YwY-oETKXD8J:
我仔细检查了9.0.2的发布版本是否使用了iText 2.1.x的正确签名(见下文)。
皮特
private void setMetricDefaults(); 签名:()V 码: 0:aload_0 1:ldc#12; // float -50.0f 3:putfield#8; // Field _underlinePosition:F 6:aload_0 7:ldc#13; // float 50.0f 9:putfield#9; // Field _underlineThickness:F 12:aload_0 13:getfield#4; // Field _font:Lcom / lowagie / text / pdf / BaseFont; 16:bipush 120 18:invokevirtual#14; //方法com / lowagie / text / pdf / BaseFont.getCharBBox :( I)[I
希望这可以帮助遇到同样问题的其他人。