我正试图按照他们网站上的教程使用Tika从pdf文件中提取文本,但我只得到了25k行文本,看起来像这样。
%PDF-1.5%目标
我在尝试时也会得到同样的东西。docx格式,但它可以很好地与。txt。有人知道我做错了什么吗?
BodyContentHandler handler = new BodyContentHandler(-1);
Metadata metadata = new Metadata();
FileInputStream inputstream = new FileInputStream(new File("fake.pdf"));
ParseContext pcontext=new ParseContext();
//Text document parser
TXTParser TexTParser = new TXTParser();
TexTParser.parse(inputstream, handler, metadata,pcontext);
System.out.println("Contents of the document:" + handler.toString());
刚刚意识到我使用的是TXTParser而不是AutoDetectParser。是否有人可以关闭或删除此问题?
问题似乎是您正在尝试使用TXTParser
来解析PDF文档。PDF
代表Portable Document Format
,其中包括文件中的二进制数据。
幸运的是,Apache Tika附带了一个包装器,可以自动检测您试图解析的文件的格式。
请尝试Tika文档中的以下示例:
public String parseExample() throws IOException, SAXException, TikaException {
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
try (InputStream stream = ParsingExample.class.getResourceAsStream("test.pdf")) {
parser.parse(stream, handler, metadata);
return handler.toString();
}
}
本教程提供了对 Apache Tika 库的基本了解,它支持的文件格式,以及使用 Apache Tika 的内容和元数据提取。
你可以使用 str函数将Beautiful Soup文档(或者它的子集)转换为字符串, 或者使用它的code>prettify或renderContents。 你也可以使用unicode函数以Unicode字符串的形式获得。 prettify 方法添加了一些换行和空格以便让文档结构看起来更清晰。 它也将那些只包含空白符的,可能影响一个XML文档意义的文档节点(nodes)剔除(strips out
问题内容: 我正在用Sphinx写一些文档,我只想为HTML文档而不是LaTeX文档打印某些文本块。某事告诉我我应该可以做到这一点,但我不知道如何做到。有谁知道如何做到这一点? 问题答案: 不需要扩展名。只需使用指令即可。 (旧链接,摘自2010年的原始帖子) https://web.archive.org/web/20100129001557/http://sphinx.pocoo.org/ma
在这里,我将html内容存储在现在在邮件格式中,我想用存储在中的指定名称替换的文本>和的文本。行显示替换的userName和Passwd,但它不会在处更新。我的代码片段如下。 Jsoup没有更新基本文档 如何解决这个问题?
我使用正则表达式删除了XML中一些不需要的项。现在,我需要打印所有包含多个子元素的包含服务节点。 这是我使用的代码; 如果我运行这个,我会得到下面的响应。 但是,我可以将选定的元素打印到包括服务节点之外。请帮帮忙!
学习如何在Java编程中使用Tika。 以下是示例 - 如何使用java从PDF中提取内容。 如何使用java从ODF中提取内容。 如何使用java从Excel工作表中提取内容。 如何使用java从文本文档中提取内容。 如何使用java从XML文档中提取内容。 如何使用java从HTML文档中提取内容。 如何使用java从java .class文件中提取内容。