- 浏览: 680511 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
shappy1978:
自己踩死自己了,我还是有远见的嘛
该死的微软,该死的IE -
calosteward:
I know Zxing and shopsavvy, bot ...
[trans]COMPARISON OF MOBILE BARCODE SCANNERS -
qq690388648:
唉……四年前的Bug,现在还没改,Apache也有不足的地方啊 ...
POI解析Word表格备忘 -
shappy1978:
Now I get to say that every met ...
Jailbreak Detection on iOS -
hebeixiaolei:
你好,我想问一下,用poi如何往word文档里插入超链接呀!
POI读取Word文档总结
软件版本:pdfbox-0.8.0-incubating
PDF转换软件:Adobe Acrobat6.0,Foxit PDF Creator
问题描述:用比较专业的Foxit PDF Creator转换没有问题,用Acrobat转换时,转换出的pdf可以正常用Adobe Reader打开,但是用pdfbox打开出现乱码。
转换方法,打开word文件,选择打印,选择打印机如图
转换后可以看到pdf的字体有所不同,是Identity-H
而用Foxit转换出来的正常可以读取的pdf文件字体应该是UniGB-USC2-H
所以字体应该出现在字体编码上,不知道有没有解决方案。运行结果如下:
解析pdf的源码如下:
public void testPDF() { try { String ts = GetTextFromPdf("c:\\temp\\test.pdf"); System.out.println(ts); } catch (Exception e) { e.printStackTrace(); } } public String GetTextFromPdf(String filename) throws Exception { String temp = null; PDDocument pdfdocument = null; FileInputStream is = new FileInputStream(filename); PDFParser parser = new PDFParser(is); parser.parse(); pdfdocument = parser.getPDDocument(); PDFTextStripper ts = new PDFTextStripper(); String content = ts.getText(pdfdocument); return content; }
附件中有word文件和异常的pdf文件。
× 建议用其他包转换的勿复
//*********************************************************
今天下载了1.1.0版本,惊喜的发现,不仅解决了UniGB-UCS2-H问题,而且Identity-H编码的问题也得到解决了,还解决了以前一个不大不小的bug,容易在文字中出现空格,到底是官方升级的好阿,比自己杂七杂八揍了一堆补丁要舒服多了。顺利通过了自己的十来个测试样本,只有一个嵌入字体的pdf出现问题,异常如下:
java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider
at org.apache.pdfbox.pdmodel.PDDocument.openProtection(PDDocument.java:1098)
at org.apache.pdfbox.pdmodel.PDDocument.decrypt(PDDocument.java:579)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:235)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:180)
at testPDFBox.GetTextFromPdf(testPDFBox.java:56)
at testPDFBox.testPDF(testPDFBox.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
下载bcprov-jdk15-133.jar包后,不再提示找不到类,出现解析错误:
2010-4-7 15:26:28 org.apache.pdfbox.filter.FlateFilter decode
严重: Stop reading corrupt stream
java.io.IOException: Error: Expected an integer type, actual=''
at org.apache.pdfbox.pdfparser.BaseParser.readInt(BaseParser.java:1275)
at org.apache.pdfbox.pdfparser.PDFObjectStreamParser.parse(PDFObjectStreamParser.java:81)
at org.apache.pdfbox.cos.COSDocument.dereferenceObjectStreams(COSDocument.java:449)
at org.apache.pdfbox.pdmodel.PDDocument.openProtection(PDDocument.java:1100)
at org.apache.pdfbox.pdmodel.PDDocument.decrypt(PDDocument.java:579)
at org.apache.pdfbox.util.PDFTextStripper.writeText(PDFTextStripper.java:235)
at org.apache.pdfbox.util.PDFTextStripper.getText(PDFTextStripper.java:180)
at testPDFBox.GetTextFromPdf(testPDFBox.java:56)
at testPDFBox.testPDF(testPDFBox.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
发表评论
-
Image Filter on Java
2016-08-25 15:24 293Image Filter on Java: http:// ... -
SMB protocol in Java
2016-08-24 16:19 322http://www.du52.com/text.php?i ... -
Image Process in Java
2016-07-29 17:46 0http://www.javaworld.com/artic ... -
Source Tree - ssl certificate problem unable to get local issuer certificate
2016-05-23 14:23 1206Meet error while iput url htt ... -
[Trans]java实现RSA加密 .
2015-03-03 10:22 714http://blog.csdn.net/wxyfighti ... -
"algid parse error, not a sequence" on initialize private key of RSA
2015-03-02 14:52 935You get this error because yo ... -
Verify Signature(iText)
2015-03-02 10:54 532http://www.berthou.com/us/2009 ... -
Sample of iText
2015-01-26 17:59 602http://rensanning.iteye.com/ ... -
PDF Password
2015-01-26 16:24 615In Acrobat if the PDF is set ... -
iText - Chinese Font
2015-01-26 15:39 1598iText中输出中文,有三种方式: 1、使用iTextAs ... -
iText Relative jar
2015-01-26 15:39 705链接 说明 iT ... -
[trans] Integrate Tomcate with Appach
2013-03-28 12:07 782http://www.ibm.com/developerw ... -
SSH+mysql中文乱码问题
2012-03-03 21:56 1120网上讨论上述问题的有很多,这次其实我项目的配置都对,但是con ... -
MyEclipse8.5 for Mac installation log
2012-02-28 15:15 2269重操旧业了啊 //****************** ... -
mysql odbc不认192.168.1.22
2011-07-14 15:45 1560今天用power designer反向mysql数据库,发现m ... -
[trans]修改webRoot目录
2011-07-13 15:48 1562已经存在的项目,必须删除.setting目录并重新配置,测 ... -
[trans]在CentOS 5上安装FFMPEG
2011-07-13 15:34 945接手一个前期的Web项目,当时是用MyEclipse建立的,用 ... -
调用Runtime.getRuntime().exec后等待命令处理完毕的问题
2011-07-06 11:36 1778try{ String command = ... -
[转]Runtime.getRuntime().exec执行阻塞问题解决
2011-06-28 15:11 2695上篇博文中CallMaxentThreadPoolTask ... -
tomcat for mac start fail
2011-06-03 17:52 1118在执行./startup.sh,或者./shutdown. ...
相关推荐
有关pdfbox-1.3.1中Identity-H编码为乱码的解决方法 有关pdfbox-1.3.1中Identity-H编码为乱码的解决方法
pdfbox-3.0.0-RC1 PDFBox是Java实现的PDF文档协作类库,提供PDF文档的创建、处理以及文档内容提取功能,也包含了一些命令行实用工具。
pdfbox包(pdfbox-2.0.8.jar,fontbox-2.0.8.jar,pdfbox-tools-2.0.8.jar)
java用pdfbox转pdf为图片文件时,如果pdf有中文,则会出现乱码(windows下正常,linux下乱码),改用icepdf后问题解决,而且能够轻松设置欲转换成图片的格式和大小.icepdf对中文支付非常强大,以下是实例代码,可以...
pdfbox-app-1.7.1.jar 操作pdf必不可少的东西,版本稳定
提取文本,包括Unicode字符。和Jakarta Lucene等文本搜索引擎的整合过程十分简单。加密/解密PDF文档。从PDF和XFDF格式中导入或导出表单数据。向已有PDF文档中追加内容。将一个PDF文档切分为多个文档。覆盖PDF文档。
pdfbox-app-2.0.2.jar
pdfbox-0.8.0-incubating.jar fontbox-0.8.0-incubating.jar
PDFBox-0.7.2-log4j.jar
pdfbox-debugger-2.0.13.jar
pdfbox-app-1.8.0 java读写pdf文档的必备jar包
pdfbox-app-1.8.15
pdfbox-2.0.7.jar fontbox-2.0.7.jar preflight-2.0.7.jar xmpbox-2.0.7.jar pdfbox-tools-2.0.7.jar pdfbox-debugger-2.0.7.jar
PDFbox.jar,2.0.9版本,PDFbox.jar,2.0.9版本,PDFbox.jar,2.0.9版本,PDFbox.jar,2.0.9版本,
java中用于处理pdf文件的jar包。
开元Java PDF库,允许访问PDF文件的各项信息。
java读取加密PDF文件时用到的包,Apache 官网最新的!
pdf转图片,pdf转图片。。。。。。会选择下载这个的应该是知道做什么用的