无法从pdf文件中读取清晰数据,因为其他语言不是英语

时间:2016-06-02 12:15:54

标签: java pdf unicode

我正在尝试将一些数据从pdf复制到txt文件,这里是代码

return _.extend({ val1: 'aaa', val2: 'bbb' }, flag ? {} : { val3: 'ccc' });

预期输出应该是其他语言,但我得到的是一些随机框,因为public void readPDFFile() throws IOException { InputStreamReader reader; OutputStreamWriter writer; FileInputStream inputstream; FileOutputStream outputStream; BufferedReader bufferedReader = null; BufferedWriter bufferedWriter = null; String str; File rfile = new File( "C://Documents and Settings/Administrator/My Documents/EGDownloads/source.pdf"); File wFile = new File("C://Documents and Settings/Administrator/My Documents/Folder/destination.txt"); try { inputstream = new FileInputStream(rfile); outputStream = new FileOutputStream(wFile); reader = new InputStreamReader(inputstream, "UTF-8"); writer = new OutputStreamWriter(outputStream, "UTF-8"); bufferedReader = new BufferedReader(reader); bufferedWriter = new BufferedWriter(writer); while ((str = bufferedReader.readLine()) != null) { writer.write(str); } } catch (IOException es) { System.out.println(es.getMessage()); es.printStackTrace(System.out); } finally { if (bufferedReader != null) { bufferedReader.close(); } if (bufferedWriter != null) bufferedWriter.close(); } } UTF-16 unicodes 我尝试了 pdfBox ,但仍然无法正常工作,因为我所获得的只是原始语言口音和英语

注意:

1我没有尝试在控制台上打印数据,而是从UTF-8复制到pdf文件

2其他文件包含非英语字样,

任何人都可以帮我解决这个问题吗?

或任何可能有帮助的链接

感谢。

1 个答案:

答案 0 :(得分:0)

PDF格式是二进制格式。您必须拥有一个非常特殊的PDF,因为我所知道的所有内容都是以某种方式压缩的。使用适当的库来阅读它,无论是pdfbox还是itext或其他。请注意,在某些PDF文件中,无法提取文本,您可以使用Acrobat进行检查,如果Acrobat无法做到这一点,那么