Others

为什么格式转换后 PDF 图层消失

PDF 层在 PDF 规范中正式称为可选内容组,允许单个 PDF 包含相同内容的多个视图。建筑师可以将电气平面图、管道平面图和结构图放置在同一文件中的不同图层上,并且查看者可以在它们之间进行切换。营销团队可以分层宣传册的多种语言版本,一次显示一种语言。这些层在 PDF 查看器中功能强大,但在文件经过格式转换时却很脆弱。

大多数转换目标根本不理解层。

当 PDF 转换为 Word、Excel、PowerPoint 或图像格式时,可选内容组的概念无法清晰地映射到目标格式的功能集。 PDF 图层 要么被展平为单个可见视图、完全丢弃,要么以不可预测的方式呈现。了解哪些转换保留图层以及哪些转换破坏图层可以帮助您规划保持此功能完整的文档工作流程。 WukongPDF 的PDF 格式 工具可处理图层感知的 PDF 查看和基本编辑,对于转换,了解图层何时丢失可让您在转换前提取它们,而不是在转换后发现丢失情况。

Why PDF Layers Disappear After Format Conversion

PDF 图层到底是什么以及它们如何工作

可选内容组 (OCG) 在 1.5 版中进入 PDF 规范,并在 ISO 32000 中正式定义。每个层都是一组指定的页面内容,具有独立可控的可见性。 AutoCAD 和 Revit 中的 CAD 绘图使用图层来分隔建筑系统。多语言文档将每种语言置于其自己的层上。图形设计师通过分层可见性在单个文件中为客户提供多种颜色变化。 OCG 机制将可见性状态、图层名称和父子关系存储在 PDF 的目录字典中,这是一种紧凑的数据结构,可增加最小的文件大小。

可见性取决于观看者。支持 OCG 的查看器会显示带有单独切换控件的“图层”面板。不支持 OCG 的查看器会显示默认设置为可见的所有图层,并且不提供切换功能。在这两种情况下,内容都存在于文件中。然而,访问它需要合适的观看者。这种查看器依赖性是转换过程中图层丢失的根本原因:转换器的行为类似于非 OCG 查看器,仅渲染默认设置为可见的内容,并将其他所有内容视为不存在。转换器没有掉层;它从来不知道它们的存在。

WukongPDF

尝试编辑 PDF

无需安装。直接在您的浏览器中工作。

立即开始 →

为什么格式转换会展平或丢弃图层

格式转换将 PDF 内容转换为目标格式的本机结构,而大多数目标格式完全缺乏图层概念。 Microsoft Word 没有可选内容组。 JPEG 提供一层:像素网格。 PowerPoint 的幻灯片层的功能与 PDF OCG 不同。转换器面临着一个不可能的映射问题,并通过将所有可见的东西展平到单个视图中同时丢弃隐藏层来解决它。这不是错误或懒惰的工程。目标格式实际上缺乏表示同一页面区域的多个可见性状态的数据模型。

不同的加工商会做出不同的选择,而缺乏标准化意味着结果会有所不同。一个转换器仅渲染当前可见的图层。另一个呈现 PDF 目录中定义的默认可见性状态,这可能与您在屏幕上看到的不同。第三个将所有层都转储到彼此之上,产生难以阅读的混乱。在提交批次之前,使用您选择的转换器在一页上测试您的特定文件,以揭示适用的行为。 30 秒的测试可以节省数小时的返工时间,并防止打开转换后的文件时发现关键内容丢失的沉闷感。

转换目标及其层支持

当目标版本支持 OCG 时,PDF 到 PDF 的转换通常会保留图层。 PDF/A-2 及更高版本允许 OCG。 PDF/A-1(较旧的归档标准)不支持此功能,因此将分层 PDF 转换为 PDF/A-1 会默默地剥离图层。任何到光栅格式(JPEG、PNG、TIFF)的转换都会将可见图层展平为单个图像,并永久丢失隐藏图层。到 SVG 或 EPS 的矢量格式转换可以将单个图层内容保留为命名组,但前提是转换器明确支持 OCG 到组的转换,而大多数转换器都不支持。

Office 格式转换因工具和格式而异。 Acrobat 的“导出到 Word”功能会保留可见内容并删除隐藏图层。专业的 CAD 转换器有时可以将图层可见性映射到 Word 样式或 PowerPoint 幻灯片版本。这些转换器是利基产品,对特定 CAD 格式有深入的了解,因此它们的价格更高。实际规则成立:PDF 的转换会使图层变平,并且隐藏图层会丢失。计划预期此结果的工作流程,并在转换之前采取预防措施。

目标格式层处理隐藏层命运
PDF 到 PDF/A如果是 PDF/A-2 或更高版本则保留保存完好
PDF 转 JPEG/PNG/TIFF仅展平的可见层永久丢失
PDF 到 Word/Excel仅扁平化、可见内容丢失的
PDF 到 SVG可以保留为命名组通常会丢失
PDF 到 PowerPoint展平为幻灯片内容丢失的

转换前保留层信息

在转换之前提取图层以分离单层 PDF。在 Acrobat 中,一次显示一个图层,另存为仅该图层可见的新文件,隐藏它,显示下一个图层,然后重复。此手动周期会生成一组单层 PDF,每个 PDF 都包含一层内容,可以安全地转换而不会丢失任何内容。重复是乏味的,但结果是完整的。每个提取的文件都会干净地转换为目标格式,因为不会丢失任何隐藏层。

自动化处理多层文档。 Acrobat 的 JavaScript API 可以枚举所有 OCG 名称,依次将每个名称设置为可见,同时隐藏其他名称,并将结果保存为以图层命名的文件。 PDF 操作库通过代码提供相同的功能。然后,提取的单层 PDF 通过批量转换为目标格式,并完全确信每一层的内容都能保存下来。对于涉及分层 CAD 或多语言 PDF 的重复工作流程,自动化投资可在几个转换周期内收回成本。

转换后验证图层内容

转换后,通过与转换前拍摄的屏幕截图进行比较来检查是否缺少内容。捕获单独显示的每一层作为参考图像。将转换后的输出与这些屏幕截图进行比较。当您知道应该包含哪些内容时,缺失的内容会立即显而易见。如果没有参考屏幕截图,在转换后的文档中发现丢失的图层只是猜测,因为您无法看到缺少的内容。

根本不应该转换图层功能至关重要的文档。共享原始分层 PDF 并确认收件人拥有支持 OCG 的查看器。 Adobe Acrobat Reader、Foxit Reader 和现代基于浏览器的 PDF 查看器都支持图层切换。如果收件人坚持使用非 PDF 格式,请发送一组提取的单层文件,而不是发送一半内容消失的单个转换后的文件。多个文件比一个文件稍微不那么方便,但比一个缺少信息的文件有用得多。

WukongPDF

尝试编辑 PDF

无需安装。直接在您的浏览器中工作。

立即开始 →