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字体找不到的错误。 |