PDFBox中文乱码

zwm512327 2008-04-28
测试出错,赶紧删去,免得误导。惭愧啊
DawsonMa 2008-05-07
ZWM512327
你好!
我所有包都加了,可早读出的数据,没有一个汉字,教是英文和数字
恳请,高手 指点哦。。。
zwm512327 2008-05-07
实在惭愧,不是什么高手。只不过当时我也碰到了中文乱码问题,后来解决了,而且我当时所测试的PDF文档全正确了。所以自以为是的以为解决了所以中文乱码问题。最近测试,发现还是有不能转的PDF文档,但我的问题是会抛出异常,是找不到解码直接就不不转,而不是转成乱码。到现在还没找到乱码的PDF文档,晕。找不到解码跟乱码应该还是有区别的。看了些编码的知识。了解的还不到位。不过你的问题我倒很奇怪。能发给我看看吗。
PDFBOX里的PDFStreamEngine类里下面这个方法
public void showString( byte[] string ) throws IOException
此时参数byte[] string 应该是已经把PDF中的图像等其他元素去掉剩下文本了。
把这个字节流能自己分析下,用所以可能的编码去试试应该会有发现。但我实在是看得头痛,找不出一个好的办法来重载这个方法并且测试。不知道有高手能给我提供个意见不?
上面的朋友,你能把你的代码和PDF文档发给我看下吗?
zkh43javaeye 2009-02-23
请问 楼上的解决 pdf中文乱码问题没?
zkh43javaeye 2009-02-23
分析:在google和csdn.net上搜到有人发布过中文支持的补丁(for 版本0.6.6),但没有地方可以下载到。
zkh43javaeye 2009-02-23
关于pdfbox-0.7.2版本的补丁pdfbox-0.7.2-cjk.patch解决中文乱码问题


从http://sourceforge.net/tracker/index.php?func=detail&aid=1640071&group_id=78314&atid=552834  下载
pdfbox-0.7.2-cjk.patch补丁 手动加入 pdfbox-0.7.2的源代码 并应用! 咋还是有很多乱码啊? 咋个看pdf中的中文是什么编码的?高手,请指教!!!
问题补充:
请问 一楼的 采用的是什么版本的pdfbox? 用做实验的是什么 pdf文件?我用pdfbox-0.7.2 或者 加了pdfbox-0.7.2-cjk.patch的pdfbox-0.7.2或者最新的pdfbox-0.7.3 解析 spring framework.pdf 里的中文 都可以正常显示,无乱码!但是其他大多数全中文的pdf文件,就是乱码,没法解析了,高手,请指教!
虞志文 2009-05-03
求助! 目标功能:打开pdf文件,然后打印,一个全英文的pdf可以打印,当时一个中文的pdf文档报错如下: 报错: 4java.awt.print.PrinterException: Printer is not accepting job. at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1231) at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1197) at org.pdfbox.pdmodel.PDDocument.print(PDDocument.java:833) at com.suncy.print.PDFBean.openPDF(PDFBean.java:35) at com.suncy.print.testPrint.main(testPrint.java:32) 代码如下: package com.suncy.print; /** * @author IBM * */ import com.suncy.print.PDFBean; //import com.suncy.print.WordBean; public class testPrint { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /** * WordBean word=new WordBean(); word.openWord(true); word.openWordDoc("D:/test/2.pdf"); //word.createNewDocument(); //word.insertText("Hello word."); //word.saveFileAs("2.doc"); word.printFile(); word.closeDocument(); word.closeWord(); */ PDFBean pdf=new PDFBean(); pdf.openPDF("D:/test/3.pdf"); pdf.closePDF(); } } /** * */ package com.suncy.print; /** * @author IBM * */ import java.awt.print.PrinterException; import java.io.IOException; import org.pdfbox.pdmodel.PDDocument; public class PDFBean { /** * */ PDDocument pDoc=null; public PDFBean() { // TODO Auto-generated constructor stub } public void openPDF(String fileName) { try { pDoc = PDDocument.load(fileName); int pageCount = pDoc.getPageCount(); int pageNumber = pageCount; System.out.print(pageNumber); //pDoc.silentPrint(); pDoc.print(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (PrinterException ep){ ep.printStackTrace(); } finally{ //if(pDoc!=null)return; } } public void closePDF() { try { pDoc.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
shappy1978 2010-02-02
这么多解答没有一个是能真正描述和解决问题的
1 作者没有讲清楚问题,出现什么样的乱码,其中中文和数字是否正常,是否测试的文件全部都是乱码,出现乱码的文件采用什么字体,什么字符集,最其他的提供出现乱码的pdf文件都没有,导致下面一堆乱七八糟的回答
2 回答问题的也没有搞清楚状况,比如说出错的,具体什么错误?什么情况下出错?这样浮躁的态度怎么能提高技术水平?
关于出错的有一个参考http://shappy1978.iteye.com/admin/blogs/523829,解决报告UniGB-UCS2-H字体找不到的错误。
Global site tag (gtag.js) - Google Analytics