【问题标题】:PDF bullets are coming as question marks while parsing with Apache Tika in java在 java 中使用 Apache Tika 解析时,PDF 项目符号作为问号出现
【发布时间】:2013-07-07 05:09:44
【问题描述】:

我正在使用 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 获得原始的原样内容?或者解析时需要在哪里定义编码?

【问题讨论】:

  • 子弹是什么意思?可以发这个pdf吗?

标签: java apache-tika


【解决方案1】:

问题很可能是您的程序用于写入控制台的编码与控制台用于处理程序输出的编码不匹配,或者您的控制台使用的字体可能没有特点。见this answer。

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

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

【讨论】:

  • 所以现在我尝试使用 String str = new String(handler.toString().getBytes("ISO-8859-1"),"UTF-8") 这只是一个新字符串UTF 数据我仍然面临这个问题。请帮忙
  • 是否有任何编码来获得以 PDF 格式编写的确切文本,即使它是编号项目符号或复制写入符号
  • 您的字符串中有哪些字符值? for (final char ch: handler.toString().toCharArray()) { System.out.println( Integer.toHexString( ch ) ); }
猜你喜欢
  • 2012-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 1970-01-01
  • 2023-04-05
相关资源
最近更新 更多