itext导出pdf jar包冲突问题?

雨落星辰又何年 发布于 2015/10/07 10:15
阅读 2K+
收藏 0

Linux基金会免费官方培训及考试申请即将截止,戳这里申请!>>>

项目有个问题,页面动态导出pdf,用了itext2.0.8jar core-renderer.jar iTextAsian.jar 包,正确生成pdf文件。
由于项目原来使用了iText-2.1.4.jar包,经理不许jar降级,先在是修改iText-2.1.4.jar包中package com.lowagie.text.pdf; BaseFont.java文件中的getCharBBox方法 2.08传的字符,其他的传的int ,
public int[] getCharBBox(char paramChar)
{
byte[] arrayOfByte = convertToBytes(paramInt);
if (arrayOfByte.length == 0)
return null;
return this.charBBoxes[(arrayOfByte[0] & 0xFF)];
}
修改后重新打包 ,之后汉字支持出现问题。
代码如下
ITextRenderer renderer = new ITextRenderer();
ITextFontResolver fontResolver = renderer.getFontResolver();
try {
OutputStream os = new FileOutputStream(pdfPath);
//解决中文问题
fontResolver.addFont("C:\Windows\Fonts\simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.setDocumentFromString(htmlCode);//引入html字符串
renderer.layout();
renderer.createPDF(os);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
报错如下
ExceptionConverter: java.io.UnsupportedEncodingException: Identity-H
at java.lang.StringCoding.encode(StringCoding.java:269)
at java.lang.String.getBytes(String.java:947)
at com.lowagie.text.pdf.PdfEncodings.convertToBytes(Unknown Source)
at com.lowagie.text.pdf.BaseFont.convertToBytes(Unknown Source)
at com.lowagie.text.pdf.BaseFont.getCharBBox(Unknown Source)
at org.xhtmlrenderer.pdf.ITextFontResolver$FontDescription.setMetricDefaults(ITextFontResolver.java:679)
at org.xhtmlrenderer.pdf.ITextFontResolver$FontDescription.(ITextFontResolver.java:610)
at org.xhtmlrenderer.pdf.ITextFontResolver$FontDescription.(ITextFontResolver.java:603)
at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:169)
at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:157)
at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:180)
at org.xhtmlrenderer.pdf.ITextFontResolver.addFont(ITextFontResolver.java:157)
at cn.com.pdf.demo.Demo.htmlCodeComeString(Demo.java:77)
at cn.com.pdf.demo.Demo.test(Demo.java:115)
at cn.com.pdf.demo.Demo.main(Demo.java:124)

遇到这中jar包问题应该怎么办,求教各位大神

加载中
0
e
evanpan
关于pdf to text conversion,我想请问是直接转换格式简单一点,还是提取文字简单一些呢?
雨落星辰又何年
雨落星辰又何年
没做过读取pdf文档数据功能,不太清楚
0
c
caplike

你好,我和你遇到的情况一模一样..也是改了源代码但是还是不行。

我暂时的解决办法是删了冲突的2.1.7,用2.0.8,但是不知道这样会不会影响其他功能...好慌~

请问你现在解决了么?

雨落星辰又何年
雨落星辰又何年
是可以改的,需要改关联的几个文件,但是我已经忘了。。。至于有没有影响这个看你自己的工程具体情况了,可以移除那个包看哪儿报错,然后添上重新测试一下
返回顶部
顶部