在理想情况下,我们需要分析的数据将以随时可用的格式提供。 然而,在我们生活的世界中,许多有价值的数据都被锁定在可移植文档格式 (PDF) 文档中。 如何将 PDF 中的数据提取到 Excel 电子表格中? 您有许多 PDF 到 Excel 转换器可供选择。
有来自 Microsoft 和 Adobe 等主要供应商的软件,包括 PDFTables 和 Cometdocs 在内的特定任务云服务,来自亚马逊等通用云提供商的服务,甚至还有免费的开源选项。
哪个是“最好的”PDF 到 Excel 转换器? 至于“最好的电脑”,答案取决于您的具体情况。
PDF 到 Excel 测试结果
我们未测试的 PDF 转换工具
选择 PDF 到 Excel 转换器时要问的 3 个问题
选择 PDF 转换器时有几个重要的考虑因素。
1. 我的 PDF 是由应用程序生成的还是扫描的图像? 有两种类型的 PDF 文件。 一个是由 Microsoft Word 等应用程序生成的; 另一个来自扫描或其他图像文件。 您可以通过尝试突出显示文档中的某些文本来判断您拥有的是哪一个。 如果单击并拖动可以突出显示文本,则您的 PDF 是应用程序生成的。 如果没有,您将进行扫描。 并非所有 PDF 转换工具都适用于扫描的 PDF。
2. 数据结构有多复杂? 几乎所有工具都可以在简单的单页表格上运行良好。 如果表格分布在多个页面上、表格单元格被合并或表格单元格中的某些数据覆盖多行,事情就会变得更加复杂。
3. 我是否有大量文件需要批量文件转换或自动化? 如果您想要自动执行频繁的批量转换,我们在应用程序生成的 PDF 上表现最佳的工具可能不是您的最佳选择。
此外,与选择任何软件一样,您需要确定您对性能与成本和易用性的重视程度。
我们如何测试转换器工具
为了帮助您找到最适合您的任务的工具,我们使用四种不同的 PDF 文件测试了七种 PDF 到 Excel 的转换工具,范围从简单到噩梦。 您将看到所有工具在每种情况下的表现如何——并找出每种工具的优缺点。
我们测试过的 PDF 到 Excel 转换器
以下是我们测试的工具,从整体表现最佳的工具开始(但请记住,“最佳”部分取决于特定的源文档)。 所有这些工具至少在我们的一些任务上都做得很好,因此排名从“优秀”到“良好”不等。
Adobe Acrobat 导出 PDF 订阅
作为便携式文档格式标准的创建者,您会期望 Adobe 在解析 PDF 方面做得很好——它确实做到了。 全功能转换订阅有点贵,但也有一个便宜的 2 美元/月计划(需要每年订阅),其中包括无限数量的 PDF 到 Excel 转换。 (您也可以使用此工具输出 Microsoft Word 文件)。
Excel 转换包括同时具有文本和表格的页面上的任何文本。 如果您想保留该上下文,这可能是一个好处;如果您只需要数据进行额外分析,这可能是一个缺点。
评级:非常好——我们在非扫描 PDF 方面的不折不扣的赢家。
费用:24 美元/年
优点:出色的结果; 保留了大部分原始格式; 很好地处理跨越多个页面的表格; 无限转换高达 100MB 的文件; 经常使用的用户负担得起。
缺点:没有内置的脚本/自动化工作流程; 如果您一年只转换几个文档,则成本很高。
底线:如果您不需要编写脚本或自动执行大量转换并且不介意每年支付 24 美元,这是一个不错的选择。
亚马逊 AWS Textract
对于 AWS 云服务,Textract 非常易于使用。 虽然您当然可以完成 Textract 通常的多步骤 AWS 设置和编码过程,但亚马逊还提供了一个拖放式网络演示,让您可以将结果下载为压缩的 CSV。 您只需要注册一个(免费的)亚马逊 AWS 账户。
评级:优秀——这是我们处理复杂扫描 PDF 的最佳选择。
成本:每页 1.5 美分(在 AWS 的前三个月每月免费 100 页)
优点:针对复杂的扫描 PDF 测试的最佳选择; 在所有应用程序生成的 PDF 上都表现出色; 提供合并或未合并单元格布局的查看结果选择; 便于使用; 实惠。
缺点:一次上传的文件限制为 10 页。 对于那些想要自动化的人来说,使用这个 API 比其他一些选项更复杂。
底线:如果您不介意 AWS 设置和手动上传或使用复杂的 API 编码,这是一个很好的选择。
白板
如果您正在寻找免费和开源的软件,请试试 Tabula。 与 Python 世界的一些免费选项不同,Tabula 易于安装和使用。 它同时具有命令行界面和浏览器界面,因此对于批量转换和点击式使用同样有用。
Tabula 在低复杂度或中等复杂度的 PDF 上表现非常好,尽管它在处理复杂的 PDF 时确实存在问题(许多付费平台也是如此)。 Tabula 需要在 Windows 和 Linux 上单独安装 Java。
评分:非常好——而且价格无与伦比。
费用:免费
优点:免费; 易于安装; 具有 GUI 和脚本选项; 允许您手动更改应针对表格分析页面的哪些区域; 可以将结果保存为 CSV、TSV、JSON 或脚本; 提供两种不同的数据提取方法。
缺点:需要对复杂格式进行一些手动数据清理; 仅适用于应用程序生成的 PDF。
底线:如果成本、易用性和自动化选项在您想要的功能列表中处于高位并且您的 PDF 未被扫描,那么这是一个不错的选择。
PDF表格
这项服务的一个关键优势是自动化。 它的 API 有据可查,支持从 Windows PowerShell 和 VBA(Office Visual Basic for Applications)到 Java、C++、PHP、Python 和 R 等编程语言的所有内容。
PDFTables 在大多数应用程序生成的 PDF 表格上表现良好,甚至理解两列标题最好作为单列标题行。 对于大部分为空的列中的数据,但也有一些单元格中的数据分布在两行中,它确实遇到了一些困难。 虽然它对扫描的噩梦 PDF 感到窒息,但至少它没有为此向我收费。
评价:整体非常好; 优秀的自动化。
费用:注册时免费获得 50 页——包括 API 使用。 之后,最多 1,000 页的费用为 40 美元,而且您的积分只能使用一年。
优点:非常好的 API; 在中等复杂的 PDF 上的性能优于其几个付费竞争对手。
缺点:价格昂贵,特别是如果您使用超过 50 个免费页面但一年内页面转换少于 1,000 次。 不适用于扫描的 PDF。
底线:性能良好,易于在 Web 上以及通过脚本和编程使用。 但是,如果您不需要优雅的 API,您可能更喜欢更便宜的选择。
PDF转Excel.com
这是一个具有付费选项的免费增值平台。 它被证明是能够处理我们扫描的噩梦 PDF 的唯一免费选择。
评价:好。
成本:云中免费,5 美元/月或 49 美元/年高级云,用于批量转换和更快的服务,桌面软件 35 美元 30 天使用或 150 美元终生使用。
优点:免费选项有很多功能; 适用于扫描的 PDF; 实惠。
缺点:没有 API 或云自动化(我们没有测试桌面软件); 批量转换需要付费选项; 将单行多行数据拆分为多行。
底线:成本和功能之间的良好平衡。 这对于复杂的扫描 PDF 最引人注目,但当单元格数据跨越多行时,其他人表现更好。
彗星博士
这种基于 Web 的服务以多种文件格式转换而著称:除了生成 Excel 之外,它还可以将结果下载为 Word、PowerPoint、AutoCAD、HTML、OpenOffice 等。 免费帐户每周最多可以转换五个文件(每个 30MB); 付费用户获得无限次转换(2GB/天数据限制)。
Cometdocs 是公共服务新闻的支持者; 该服务为调查记者和编辑成员提供免费高级帐户(披露:我有一个)。
评价:好。
费用:每周 5 次免费转换; 否则 10 美元/月,70 美元/年或 130 美元“终生”。
Pro:适用于扫描的 PDF; 多种输入输出格式; 总体来说效果不错; 在具有复杂表格格式的 2 页 PDF 上表现非常出色。
缺点:在复杂的扫描 PDF 上不如其他一些选项强大; 将一行的多行数据拆分为多行; 没有明确的脚本/自动化选项。
底线:如果您对多种格式的导出感兴趣而不仅仅是 Excel,那么它尤其引人注目。
微软Excel
许多人不知道 Excel 可以直接导入 PDF,但前提是您在 Windows 上订阅了 Microsoft 365 或 Office 365。 对于简单文件来说,这是一个不错的选择,但随着 PDF 复杂性的增加,使用起来会更加麻烦。 不熟悉 Excel 的 Power Query / Get & Transform 界面的人也可能会感到困惑。
如何将 PDF 直接导入 Excel:在功能区工具栏中,转到“数据”>“获取数据”>“从文件”>“从 PDF”并选择您的文件。 对于单个表,您可能只有一个导入选择。 选择它,您应该会看到表格的预览以及加载它或在加载前转换数据的选项。 单击加载,表格将弹出到您的 Excel 工作表中。
对于一页上的单个表格,这是一个快速且相当简单的选择。 如果您在多页 PDF 中有多个表格,这也很有效——只要每个表格都限制在一页内。 但是,如果您在多个 PDF 页面上有一个表格,事情就会变得有点复杂,并且您需要了解 Power Query 命令。
将 Power Query 数据转换与其他工具进行比较有点不公平,因为任何其他 PDF 到 Excel 转换器的结果也可以导入 Excel 以进行 Power Query 争论。
评价:好。
费用:包含在 Microsoft 365/Office 365 Windows 订阅中。
优点:您不必离开 Excel 来处理文件; 了解 Power Query 的人可以使用大量内置数据整理。
缺点:与大多数其他人相比,除了最简单的 PDF 之外,使用起来很复杂; 不适用于扫描的 PDF; 需要在 Windows 上订阅 Microsoft 365/Office 365。
底线:如果你已经在 Windows 上安装了 Microsoft 365/Office 365,并且你有一个简单的转换任务,那么 Excel 值得一试。 如果您已经了解 Power Query,一定要考虑使用它来进行更多 PDF 转换! (如果你不这样做,Power Query 是一般 Excel 用户需要学习的一项很好的技能。)如果你的 PDF 更具挑战性并且你还没有使用 Power Query / Get & Transform,那么你可能会更好 有另一种选择。
PDF 到 Excel 测试结果
以下是这七种工具在我们的四次转换测试中的表现:
1. 简单的 PDF 到 Excel 挑战
我们的“简单”任务是从波士顿住房报告第 5 页提取的单页应用程序生成的 PDF。 它包含一个表格和一些文本,但列标题和两个数据单元格确实包括两行的换行文本。
我们测试的所有平台都很好地处理了这一问题。 但是,有几个将多行文本分成多行。 在此示例中,问题很容易发现和解决,但在较大的文件中可能很难解决。 不过,对于这个简单的单页纸,PDF 到 Excel 的转换器虽然不是第一或第二,但仍然有很好的结果。 所有这些都值得用于此类转换。
第一名:并列——Adobe 和 AWS Textract。 使用 Adobe,无需清理数据。 列标题甚至具有原始颜色格式。 Adobe 的转换包括文本(具有漂亮的格式),如果您想将书面解释与 Excel 中的数据一起保存,这将非常有用。 如果您只需要数据,则需要手动删除文本,但这很简单。
仅 AWS Textract 转换后的数据。 不需要数据清理。
紧随其后:Excel。 仅数据。 Excel 没有将换行的文本分成两行,但它确实显示了在没有多行行的情况下将文本放在一起。 但是,当您在公式栏中查看数据时,数据实际上是正确的——只是在整个电子表格中看起来是错误的。 这很容易通过使用“环绕文本”格式化单元格来解决。 但是,并不是每个人在查看电子表格时都知道这样做。
其他的:
PDFTables:返回的数据和文本。 与 Excel 相同的问题似乎是将换行文本保持在一行中,单词之间没有空格。 如果您知道的话,这也很容易通过换行文本来解决。 此结果还需要从出现在数据下方的徽标中清除几个单词。 不过,徽标外的解释性文字没有问题。
表格:仅数据。 将多行单元格拆分为多行。
Cometdocs:数据和文本。 将多行单元格拆分为多行。 周围的文字是准确的,包括徽标文字。
PDFtoExcel.com:与 Cometdocs 类似的性能。
2. 适度的 PDF 到 Excel 挑战
我们的中等 PDF 挑战是一个跨多个 PDF 页面的应用程序生成的表格,通过波士顿地区大都会水资源管理局数据监测废水中的 Covid-19 痕迹。
第一名:Adobe。 少数几个认识到所有页面都是同一张表的人之一,因此页面之间没有空白行。 标题在一行中,列名中的单词之间的空格被保留。 数据结构非常好,包括保持多行换行。 它甚至再现了背景和文本颜色。 11 页的长度不是问题。
第二:AWS Textract。 标题行是正确的。 每个页面都作为一个单独的表格返回,尽管将它们组合起来很容易。 一个奇怪的问题:在单元格的开头添加了撇号——可能是由于我拆分 PDF 的方式,因为我需要创建一个只有 10 页的文件。 但是,这些撇号很容易通过一次搜索和替换来查看和删除,因为数据不包含任何带撇号的单词。 与使用 Tabula 相比,它更容易获得我需要的确切数据,但获得完整数据集更麻烦。
接近第三名:Tabula。 页面之间没有空白行,数据在正确的列中,包装的单元格保持在一行中。 不幸的是,虽然当您查看公式栏中的单元格内容时换行数据正确显示,但数据似乎再次在整个电子表格中合并在一起——这并不像 Excel 和 简单 PDF 中的 PDFTables。
例如,这是出现在公式栏中的一个单元格的内容:
B.1.1.7
76%
但在整个电子表格中,同一个单元格看起来像
B.1.1.776%
我有时可以通过手动增加行高来使其正确显示,但这是一个大多数人不知道的额外步骤,而且它似乎并不总是有效。
其他的:
PDFtoExcel.com:多个问题。 前几页很好,除了多行标题,但单个单元格中超过两行的数据在数据中分成两行,在其他地方生成需要修复的空白行。 此外,在一个部分中,列向右移动。 这需要清理。
PDFTables:多个问题。 大多数页面的所有数据都很好,但到了最后,一些本应在 J 列中的单元格与 I 列合并,其修复方式比 PDFtoExcel 更难修复。 例如,这个单细胞:
奥米克戎
559 23%
在一个单元格中应该是 559,而在下一个单元格中 Omicron 应该是 23%。
Cometdocs:失败。 完整的 PDF 甚至我上传到 AWS 的 10 页版本都无法转换。 它能够转换只有前 5 页的版本,但完整文件应该远低于 Cometdoc 的帐户限制。
Excel:可以以我想要的格式获取数据,但它需要在 Power Query 中进行数据操作以及换行文本。 这与其他单一上传或命令的平台相比并不公平。 尽管如此,结果最终还是非常出色的。 如果您是 Excel/Power Query 高级用户,这是一个不错的选择。
3. 复杂的 PDF 到 Excel 挑战
地方选举结果是我最喜欢的一些不利于分析的公共数据示例。 下面显示的来自马萨诸塞州弗雷明汉的应用程序生成的 PDF 只有 3 页,但其表格格式并不是为便于数据导入而设计的。 有没有可以处理的PDF转换工具?
第一名:并列——Adobe 和 PDF 到 Excel。 Adobe 返回了一个格式完美的 Excel 文件,包含原始单元格颜色。
虽然 PDFtoExcel.com 的电子表格没有 Adobe 的漂亮格式,但所有数据都准确无误,并且可以按原样使用。
其他的:
AWS Textract:公平。 结果返回到 5 个表中。 在一种情况下,您需要手动将它们复制并粘贴在一起,然后查看原件以确保您这样做是正确的。
PDFTables:差。 数据回来了,但有些列在错误的列中,无论我是尝试下载多张还是一张。 这将需要手动检查和清理。
白板:穷。 与 PDFTables 类似的问题,有些数据列在错误的列中,但至少我不必为此付费。 我尝试了 Stream 和 Lattice 提取方法,并且都存在一些错误的列问题(尽管问题不同)。
Cometdocs:转换失败。
4.噩梦 PDF 到 Excel 挑战
我们的噩梦来自于今年国家计算机辅助报告研究所会议上的演讲,作为对培训学生有用的数据示例——如果它的格式易于分析的话。 这是一份多页的 PDF 扫描件,其中包含来自联邦难民处理中心的四个月的难民抵达数据(按原籍国和美国目的地州分类)。
此 PDF 的挑战范围从多页表格到大量合并的列。 此外,事实证明,第 1 页上的表格与其他页面上的表格有些不同,至少在几种工具如何处理它们方面是这样,尽管它们看起来相同。
由于 AWS 10 页的限制,为了对所有工具公平,我只测试了前 10 页。
第一名:AWS Textract。 到目前为止,该小组中最好的。 这就是复杂机器学习的优势所在。 结果以包含多个 CSV 的压缩文件形式下载,每页一个。 不过,您可以转到数据 > 获取数据 > 从文件 > 从文件夹,然后选择包含那些新解压缩的 CSV 的文件夹(没有一些额外的文件,例如带有元数据和 另一个带有所有文本格式的文本)。
我还必须将文件 table-10 重命名为 table-910,因为导入是将 table-10 放在 table-1 之后和 table-2 之前(按字母顺序对文件名排序,而不是 -10 之后的 -9)。 虽然我没有检查所有数据,但我抽查的行都是准确的。 这是将所有页面收集到一个可用的电子表格中的最简单方法。
第二:并列——Cometdocs 和 PDFtoExcel.com。 Cometdocs 在每一页上都有无法解释的“Grand”行——第一列只有一行“Grand”——但除此之外,数据看起来非常好。 它出现在一个文件中。
根据您的需要,在每个页面上包含文本可能是优点也可能是缺点。 上下文很有用,但将数据合并到一个表中肯定需要更多工作。
PDFtoExcel.com 的性能与 Cometdocs 相似——包括额外的“Grand”行。
其他的:
土坯:公平。 虽然很多数据都很好,但结果在第一页合并了一些数据,需要人工检查和清理。
PDFTables:如果不首先使用 OCR 软件,则无法处理扫描的 PDF——尽管至少在未检测到表格时它不会收取帐户信用。
Tabula:如果不首先使用 OCR 软件,则不适用于扫描的 PDF。
我们未测试的 PDF 转换工具
还有许多其他有用的工具需要更多的设置工作或一些重要的编码才能将您的 PDF 转换为您可以分析的数据。 但是,如果我们测试的那些都不适合您,那么这里还有其他一些:
Excalibur:我收到了一个关于这个的提示,一个为 Camelot Python 库构建的 Web 界面。 但是,它涉及安装多个依赖项,对于那些还没有 Python 经验的人来说,安装可能是一个关闭(即使你不需要运行 Python 来使用它)。
Google Cloud Document AI:Google Cloud 的 Document AI 设置比使用 AWS Textract 复杂得多。 另外,虽然您可以上传最多 5 页的测试文档以查看提取的内容,但我没有看到通过 Web 界面将结果下载为 CSV 或 Excel 文件的明显方法——唯一的选择是 JSON。 您可能需要像 Python 或 R 这样的编程语言才能有效地使用它。
Microsoft Azure Form Recognizer:这也比 AWS Textract 更复杂,但如果您已经是 Azure 用户,可能值得一看。 每月 500 个免费页面。