将表格数据从 PDF 提取到 Excel 应生成一个电子表格,其中行和列与原始表格匹配。但有时输出会被转置。行变成列,列变成行,数据被打乱。这不是随机错误。它具有与PDF到Excel转换引擎如何解释表格的视觉布局相关的特定原因。了解转置发生的原因有助于您选择产生正确定向输出的转换设置。
要点
当转换引擎错误识别表格的阅读方向时,就会发生 PDF 到 Excel 的转置,通常是因为合并单元格、列宽不一致或文本在行中视觉上对齐但按列顺序存储在 PDF 中。解决方法取决于原因。调整转换设置、预处理 PDF 以澄清表格结构,或对 Excel 输出进行后处理以将数据转回正确的方向,所有这些都可以解决不同的根本原因。

为什么 PDF 表格数据在提取过程中会被转置
在列之间使用前导点或其他视觉连接器的表格(例如用点将章节标题连接到页码的目录)几乎可以保证转置,因为前导点创建了一条连续的视觉线,检测算法将其解释为行分隔符。如果表格稍后将转换回 Excel,请在创建 PDF 之前从源文档中删除前导点。
PDF 的内部结构与视觉布局一样重要。在屏幕上看起来完美对齐的表格可能会以与视觉阅读顺序不匹配的顺序存储为文本对象。 PDF 创建软件确定文本对象顺序。某些应用程序按照文本对象添加到文档的顺序写入文本对象,可能是逐列而不是逐行。这就是为什么两个看起来相同的 PDF 会产生不同的转换结果:它们的内部文本对象顺序不同。
PDF 表格不会作为表格存储在文件中。它存储为位于页面上特定坐标处的单独文本对象。转换引擎必须查看这些坐标并推断哪些文本对象属于哪些行和列。推理算法使用文本的水平和垂直对齐将其分组为行和列。当对齐不明确时,算法可能首先通过垂直对齐对文本进行分组,生成应该是行的列。
合并单元格是转位最常见的触发因素。具有跨越多列的标题行的表格会创建一种视觉结构,其中顶行与其下方的列边界不对齐。转换引擎将合并的标题及其下方的各个列视为两种不同的对齐模式。它可能将合并的标题解释为多列行,或者可能将下面的列解释为多行数据,并且歧义导致转置。第一列包含跨越多行的合并单元格的表同样存在问题,因为垂直合并会破坏引擎用于水平分组数据的行对齐。
尝试 PDF 转 Excel
无需安装。直接在您的浏览器中工作。
调整转换设置以防止转置
如果 PDF 表格是使用浏览器打印功能从网页生成的,则 PDF 中的表格结构可能比来自专用报告应用程序的表格结构更少。浏览器生成的 PDF 文本元素之间的对齐方式通常较松散,这使得表格检测变得更加困难。如果可能,从原始应用程序将表格导出为 PDF,而不是从浏览器打印,以获得最可靠的转换结果。
某些 PDF 表格使用交替行颜色作为读者的视觉辅助工具。这些交替的颜色可能会混淆表检测算法,因为它将不同颜色的行视为属于不同的表部分。在转换之前从 PDF 中去除背景颜色,或者首先转换为灰度,可以消除这种混乱的根源,并提高表结构检测的一致性。
如果转换工具包含表检测模式,请启用它。表检测告诉引擎寻找网格线、背景阴影和指示表结构的一致文本对齐模式。此模式应用默认文本提取之外的额外分析,并且更有可能正确识别行和列方向。一些工具还提供“转置输出”功能。复选框专门用于处理默认提取生成转置数据的情况。如果您的输出已转置并且该工具具有此选项,则在第二次转换尝试时检查它将产生正确的方向。
对于从扫描的表格中提取 PDF 数据,请专门在表格模式下运行 OCR。专为一般文本识别而设计的 OCR 引擎可能无法保留文本块之间的空间关系。表模式下的 OCR 引擎会保留识别输出中的行和列结构。 WukongPDF 的 PDF 到 Excel 转换器包括自动表格结构检测,可根据视觉对齐和内容模式识别行和列关系,与通用文本提取相比,减少转置的可能性。
转换后修复:将 Excel 数据转回
转置后,检查每列的数据类型。 Excel 可能在转置后将一列数字解释为文本,因为转置的数据在同一列中包含标题标签。选择每一列并验证数据类型是否与内容匹配。格式化为文本的数字将无法正确计算,格式化为文本的日期将无法按时间顺序排序。转置后修复数据类型,以确保电子表格功能齐全。
如果输出已转置并且重新转换不可行,Excel 只需单击几下即可转置数据。选择转置的数据范围,复制它,右键单击新位置,然后在粘贴选项下选择“转置”。行和列交换,恢复原始方向。这非常适合简单的表,其中唯一的问题是行/列反转。对于包含合并单元格的复杂表格,Excel 中的转置无法正确处理合并单元格,并且可能会生成与原始布局不同的更糟糕的布局。
在转置之前,将原始 PDF 表格与 Excel 输出进行比较,以确认转置是唯一的问题。如果输出还存在未对齐的单元格、丢失的数据或错误合并的单元格,转置将无法解决这些问题。在这些情况下,需要手动数据重建或使用不同设置重新转换。转置修复是针对数据完整且正确对齐但方向错误的特定情况的一键式解决方案。
预处理 PDF 以进行更清晰的表格提取
如果 PDF 表是由特定应用程序(例如 SAP、Oracle Reports 或旧大型机系统)创建的,请在线搜索该特定应用程序的 PDF 输出的已知转换问题。企业报告系统通常生成具有可预测的表格结构怪癖的 PDF,并且其他用户可能已经记录了该特定源的最佳转换设置。有针对性的搜索可以节省测试多种转换方法的反复试验。
如果特定 PDF 在多次转换尝试中始终生成转置输出,请在转换前对 PDF 进行预处理。使用 PDF 编辑器删除任何可能混淆表格检测算法的背景阴影、网格线或装饰元素。与具有交替行颜色、粗边框和嵌入图标的表格相比,具有白色背景上的黑色文本和细而一致的网格线的干净表格的转换更可靠。在转换之前消除视觉噪声可以提高转换引擎正确识别表结构的能力。
对于扫描的表格,请将扫描调整为完全笔直。即使以一度的角度扫描表格也会导致每行稍微倾斜,并且转换引擎可能会将倾斜解释为列对齐。大多数扫描软件都包含纠偏选项,可以自动拉直页面。在扫描前启用此选项,或在转换前对扫描的 PDF 使用倾斜校正工具。直行对于正确的行和列检测至关重要。
常见问题
将 PDF 表格转换为 CSV 而不是 Excel 是否可以避免换位问题? CSV 转换使用与 Excel 转换相同的表检测算法。如果算法转置数据,则 CSV 输出也将被转置。输出格式不影响检测逻辑。 CSV 确实具有更容易在文本编辑器中检查的优点,这使得当您打开文件并看到预期的 5 列变成了 20 列时,转置立即可见。
某些类型的 PDF 表格是否会发生更多换位?
是的。具有合并标题单元格的表格、每行列数不一致的表格以及第一列使用垂直文本方向的表格最有可能发生转置。具有简单、统一网格结构的表格很少进行调换。表越规则,转换越可靠。
我可以自动检测和纠正转置的 Excel 输出吗?
根据原始表中的预期数量检查 Excel 输出中的列数是一项简单的自动检查。如果 PDF 表格有 5 列和 20 行,但 Excel 输出有 20 列和 5 行,则数据将被转置。脚本可以检测到这种不匹配,并转置数据或标记文件以供手动检查。这种自动质量检查可以在数据进入下游工作流程之前捕获转置。
为什么同一个 PDF 表在一次尝试中可以正确转换并在另一次尝试中转置?
这通常是由于两次尝试使用的转换设置略有不同,或者转换工具根据文件大小或复杂性阈值使用不同的内部处理路径。如果遇到不一致的结果,请记录产生正确输出的确切设置,并将这些设置用于类似表的所有未来转换。
尝试 PDF 转 Excel
无需安装。直接在您的浏览器中工作。
