1

我正在使用 Apache Tika (tika-app-1.3) 使用以下代码解析 PDF 文件:

InputStream input = new FileInputStream("Introduction.pdf");  
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler(100 * 1024 * 1024);
Metadata metadata = new Metadata();
parser.parse(input, handler, metadata);
System.out.println(handler.toString());

handler.toString()正在显示 PDF 文本,但此文本还包含项目符号,这些项目符号显示为?符号,但我希望这些项目符号保持原样。有什么方法可以使用 Apache Tika 获得原始的原样内容?或者解析时需要在哪里定义编码?

4

1 回答 1

0

问题很可能是您的程序用于写入控制台的编码与控制台用于处理程序输出的编码不匹配,或者您的控制台使用的字体可能没有字符的字形。看到这个答案

一种检查方法是打印字符串中字符的数值。然后你会知道文本是否包含一个?(U+003F) 与否。

甚至可能 PDF 包含项目符号的图像而不是字符。

于 2013-07-09T15:16:53.083 回答