我正在使用 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 获取原始的、按原样的内容?或者解析时需要在哪里定义编码?
最佳答案
问题很可能是您的程序用于写入控制台的编码与控制台用于处理程序输出的编码不匹配,或者您的控制台使用的字体可能没有相应的字形特点。请参阅this answer .
一种检查方法是打印字符串中字符的数值。然后你就会知道文本是否包含 ? (U+003F) 与否。
PDF 甚至可能包含项目符号图像而不是字符。
关于java - 在 Java 中使用 Apache Tika 进行解析时,PDF 项目符号以问号形式出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17550858/