类型化表格提取

THotPDF.ExtractLoadedTypedTables 将语义表格行转换为公开的规范列网格,而不修改已加载的文档

表格连续性

兼容的相邻片段可以添加规范列,将缺失的中间起始转换为显式 ColumnSpan 值,而不是丢弃合并的标题

连续页面上的兼容表格合并为一个表格,而匹配的前导标题行保持存在并携带 IsRepeatedHeader

类型化值与置信度

每个单元格保留原始 Unicode 文本、页面空间边界、行和列跨度、规范化值、类型化存储、货币代码和置信度

推断在调用方选择的十进制、千位和日期顺序规则下识别空、字符串、整数、数字、布尔、日期、日期时间、货币和百分比值

有界导出

ExportLoadedTypedTables 通过有界的暂存流和回滚安全的最终发布写出展开的 RFC 4180 风格 CSV 行或元数据丰富的 JSON

在发布结果之前检查页面、字形、源表、输出表、行、单元格、文本、输出字节、置信度和取消限制

XLSX 工作簿

HPDFXLSXExport 单元把 THPDFTypedTables 导出为 Office Open XML 工作簿,无需安装 Office,也不加载外部电子表格库

HPDFExportTypedTablesXLSX 写入可读、可写、可定位的流的当前位置,先暂存完整工作簿再发布,发生可恢复的写入失败时还原被覆盖的字节

HPDFExportTypedTablesXLSXFile 在目标旁边以独占方式创建临时文件,刷新它,且只在导出成功后原子地替换目标

HPDFExportLoadedTypedTablesXLSX 把提取与流导出合二为一,并拒绝与已加载源互为别名的目标

每个提取出的表成为一个名为 Table N 的工作表,带数字和布尔单元格、日期和日期时间格式、数字格式中的货币代码、百分比格式,以及经过验证的合并区域

超过 15 位十进制数字的整数按文本存储以保留精确值,因为 Excel 数字单元格的精度有限

字符串保持字面文本,包括以 = 开头的值;XML 控制字符和字面的 Office Open XML 转义序列经 SpreadsheetML 转义后原样保留

默认情况下,一个隐藏的 Source metadata 工作表为每个源单元格记录工作簿单元格地址、从零开始的源页面和表格索引、原始与规范化文本、值种类、货币代码、页面空间边界和置信度

THPDFXLSXExportOptions.Default 允许最多 4,096 个表、1,000,000 行、1,000,000 个单元格和 256 MiB 输出,支持可选的 THPDFCancellationToken,也可选择省略元数据工作表

导出拒绝重叠的合并、无序或重复的列索引、非有限数字、无效货币代码、1900 到 9999 之外的日期、超过 32,767 个 UTF-16 单元的文本,以及超出 Excel 1,048,576 行或 16,384 列限制的工作表

元数据表有一行表头,因此启用它会额外把整个工作簿的源单元格限制在 1,048,575 个以内;空的提取仍会产出一个可见工作表

ZIP 成员使用 stored 压缩方式,因此输出可能比压缩过的工作簿大;导出器既不保留 PDF 视觉样式,也不保留图表、公式、宏或内嵌图像

JSON 任务和 C ABI 经 tables.export 加 format: "xlsx" 暴露同一工作簿管线,共享提取与输出预算

相关 API