我有超过6500名学生的学术成绩pdf。 我无法访问实际的数据库,我梦想的是从这个长而复杂但质量相当好的文档中提取数据。该数据将用于分析和可视化目的。
Here's first 5 pages of this document ~1 MB
请帮助我 -
提前致谢。
答案 0 :(得分:0)
是否可以提取此数据?
是。 PDF包含从文档中提取文本数据所需的所有信息。此外,表格列似乎从每页的相应位置开始。
一种方法是在不破坏布局的情况下提取文本。对于有问题的文档来说,这是非常明智和容易的,因为它是从纯文本文件开始创建的。然后,人们可以逐行分析该文本。
如果是,为此编写代码需要多长时间?
这取决于编码员的技能。文本提取将使用一些PDF库完成,因此只保留文本分析,如果您的文件看起来很容易。在第一天,概念的证明应该是可能的,而且总的来说它不应该超过一周。
一些工具和库最好是在JAVA中。
有多个开源库(iText,PDFBox,PDFClown出现在我的脑海中;一定要了解相应的许可条件),还有许多封闭源库也提供文本提取功能。
指向教程或指南的链接。
教程/指南/样本通常可以在所选图书馆的网站上找到。
我的建议是尝试几个这样的库并检查它们的文本提取输出是否与原始布局一致,它们的性能是否足够,它们的资源要求是否可接受,以及它们的许可条件是否适合你。 / p>
(以下是与最初提供的PDF相关的原始答案,该PDF是为防止文本提取而构建的)
是否可以提取此数据?
虽然您的文档确实看起来格式正确,但严格来说它不包含任何文本。您可能已经尝试从PDF查看器进行复制和粘贴,并且看到它无法提取任何内容而感到失望。
您的PDF使用路径绘制操作(即线条,曲线等)而不是文本绘制操作(通常或多或少地提取文本),而是使用它们为每个单个字母使用许多操作绘制文本。顺便说一下,这解释了文件的巨大尺寸。
因此,文本不能立即从您的文档中提取。您必须浏览内容,识别绘制创建单个字母的操作,并从中构建文本;或者您必须将PDF呈现为位图并应用OCR。