65.9K
CodeProject 正在变化。 阅读更多。
Home

合并 PDF 文档:如何确保准确性和效率

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (1投票)

2018年9月12日

CPOL
viewsIcon

11761

在本文中,我们将讨论企业级 PDF 文档的合并。我们将介绍合并 PDF 文档的主要优点和常见陷阱,以及提高合并流程的关键技巧。

为什么要合并 PDF?

在当今的企业工作流程中,PDF 文件通常用于合并,以简化各种不同的任务。合并文档的例子可能包括抵押贷款文件、贷款、发票、信用卡对账单、手机账单、人力资源文件(如医疗福利信息和 401(k) 声明),以及更多。我们熟悉的一个常见合并文档是银行或信用卡对账单。每份对账单的特定部分使用模板创建,然后填充个人信息。结果是个人化的对账单,与标准的免责声明部分和金融机构的页眉合并,其中可能还包括其徽标和其他公司模板。

合并对账单示例

[来源:http://resumepdf.com/6-chase-bank-statements/]

公司通常需要将许多文档和不同的数据源合并到一个 PDF 文档中,这可能涉及多个合并步骤。让我们看上面的对账单。每份对账单都是通过合并不同文档创建的。现在,想象一下用户请求查看他们过去一年的对账单历史记录。金融机构可以选择提供单个文件,或者通过合并用户所有月度对账单的 *零散* 部分 *到一个主文档中* 来创建一个为期一年的报告。当金融机构准备客户对账单以供打印和邮寄时,情况也是如此。单独的客户对账单被 *合并* 成大批量打印,长达数万页。

在当今的企业界,合并 PDF 文档是一项至关重要的任务。许多企业和组织依赖于合并来简化其工作流程和流程,否则将需要指数级的成本和资源才能手动实现相同的结果和输出。因此,确保合并准确无误至关重要。

文档合并陷阱 – 您需要了解的内容

合并 PDF 文档是一项不可或缺的流程,企业之所以如此依赖它,是因为它为他们节省了时间、精力和金钱。然而,如果所使用的工具不是为企业级性能而设计的,事情就可能出错,最终结果可能并非您所期望的。

过大的 PDF 文件

使用 Adobe PDF 库合并的文档

使用另一个 PDF 工具合并的文档

正如您可能猜到的,PDF 文档合并最常见的问题之一就是文件大小过大。请注意,上面显示的示例 PDF(通过将 100 个单页文件合并为一个组合 PDF 创建)是使用两个不同的工具合并的——一个使用 Adobe PDF Library 合并,另一个使用另一个 PDF 工具合并。正如您清楚看到的,使用另一个 PDF 工具合并的 PDF 的文档大小几乎是其 30 倍。

合并两个 PDF 文件最简单的方法(这有点简化了)是将其融合在一起。这意味着文件 B 的内容将添加到文件 A 的内容之后。结果文件的总文件大小将是 A 和 B 文件大小的总和。然而,情况并非如此。在正确的 PDF 文件合并中,结果文件的大小将小于 A + B。这主要是因为 PDF 文件在底层拥有复杂的结构。PDF 通常由文本流和不同的资源组成,如字体、图像、颜色空间等。在合并文件时,一个精心构建的合并应用程序将检查每个共享资源。它将确定合并的结果是否包含重复的资源,并将自动消除重复项。例如,如果存在两个相同的字体副本,则第二个副本(至少在概念上)应被消除。这同样适用于图像和其他资源。在任何面向消费者的内容中,公司通常会在对账单上使用其徽标。如果我们合并两个对账单,每个对账单都使用相同的徽标,则该徽标被视为一个常见的共享文档资源。仅仅融合文档的应用程序会在文档中留下多个相同的徽标副本,从而导致“合并”后的 PDF 文件大小过大。用于合并页面的应用程序需要确保生成的文档只有一个唯一版本的徽标,并且每个实例都指向它。Adobe PDF Library 会在后台处理这种情况。您也可以通过在我们的网站上 下载 Adobe PDF Library 的免费评估版 并将其集成到您的合并流程中,来获得显著减小的合并后 PDF 文件。

低效的 PDF 数据结构

通过不正确的合并流程创建的文档经常会遇到性能问题。如前所述,过大的文件大小通常是主要原因之一。但是,另一个可能导致性能问题的主要问题是合并 PDF 中低效的数据结构。正确的合并流程需要优化页面树的结构,以确保生成的 PDF 具有高效的页面访问。如果没有高效的页面访问,用户在导航结果文档中的页面时可能会遇到明显的延迟。

删除不应删除的元素

重复资源的错误删除以及对生成文档的不正确清理,是另一个大型合并问题子集出现的地方。消除重复资源并确保 PDF 文档中的所有引用都正确并非易事。有些工具会尝试不正确地删除重复资源,但在过程中可能会破坏整个内容。以下是一些可能导致数据丢失的常见问题:

  • 字体丢失
  • 图像丢失
  • 书签合并不正确
  • PDF 标签和结构问题
  • 元数据丢失

字体子集和其他元素的合并

另一个常见的文档合并操作是现有字体子集的子集化。字体子集通常在文档创建或优化过程中创建。字体子集化是一项复杂的操作,它会从现有文档字体中删除字母,并创建一个仅包含实际文档中使用字母的新字体。这会降低文档的可编辑性,但可以大大减小文件大小。想象一下,一个包含 1,000 个字母的字体作为资源嵌入 PDF 文档中。如果实际文档仅使用 10 个字母,则无需在文档中包含完整的字体。

在下面的示例中,您可以清楚地看到,使用 Adobe PDF Library 创建的合并 PDF 只包含所需的字体核心,而使用另一个 PDF 工具创建的另一个合并 PDF 包含不需要的冗余字体。具体来说,使用该其他工具合并的 PDF 包含原始 100 页中每种字体的副本。由于这恰好是完全相同的字体,因此使用 Adobe PDF Library 合并的 PDF 将所有这些相同的字体合并在一起,最终只得到 1 种字体,而不是 100 种。

使用 Adobe PDF 库合并的文档

使用另一个 PDF 工具合并的文档

合并文档时,还需要合并现有的字体子集。这对于某些应用程序来说可能是一个棘手的部分。为了合并字体,应用程序需要创建一个包含文档中所有使用的字母的超集,并基于此创建一个新的字体子集。这可能是一个非常容易出错的过程,而 Adobe PDF Library 可以轻松处理。

合并文档时,书签和目录 (TOC) 也会合并。由执行文档合并的工具决定它们在新文档中的行为方式。非企业级工具可能会忽略并丢弃这些元素。像 Adobe PDF Library 这样更复杂的工具会检查书签和目录,以确保它们指向正确的页面,即使页码已经更改。

文档元数据是合并 PDF 文档的另一个棘手领域。合并多个 PDF 时,所使用的工具需要决定如何处理元数据。有些工具经常丢弃元数据。其他工具则采用任意方法来决定如何处理。它们会保留文档 A 的作者、标题、主题和关键字元数据,丢弃文档 B 的元数据,并将其应用于最终产品。Adobe PDF Library 始终为用户提供选项,让他们选择如何管理文档元数据。

使用 Adobe PDF Library 合并文件

        static void Main(string[] args)
        {
            using (Library lib = new Library())
            {
                // Open the two documents we are going to merge
                Document doc1 = new Document("document1.pdf");
                Document doc2 = new Document("document2.pdf");
 
                // This is the line that performs the document merge. 
                // PageInsertFlags controlls how the documents will be merged and optimized. All includes all optimizations
                doc1.InsertPages(Document.LastPage, doc2, 0, Document.AllPages, PageInsertFlags.All);
 
                // Save the merged document to disk
                doc1.Save(SaveFlags.Full, "document_merged.pdf");
            }
        }

上面的代码正在合并字体子集,删除重复的图像和资源,并重新组织书签和目录以确保链接正常工作——所有这些都在后台进行。与许多其他工具不同,Adobe PDF Library 通过 `InsertPages()` 方法中提供的文档合并标志,为用户提供了对这些流程的完全控制。上面的应用程序保留了文档 1 的元数据,但 Adobe PDF Library 在此领域提供了更多控制,如有必要。

点击下面的链接,在 Github 上查看我们的示例

摘要和最佳实践

正如我们所讨论的,为了确保您实施最准确的 PDF 文档合并流程,您应该了解您选择的 PDF 合并工具的全部功能。在选择 PDF 解决方案合作伙伴时,请关注他们在 PDF 社区的知识和经验,他们实施常见问题直观解决方案的能力,以及谁还能提供处理复杂 PDF 工作流挑战的专家知识和建议。

另一项建议是,始终确保您使用的 PDF 工具是为企业级实施而设计的,并且得到了经验丰富、知识渊博的专业支持团队的全面支持。Adobe PDF Library 采用与 Adobe 构建 Acrobat 相同的核心技术构建,是一个用于编辑、组装和优化 PDF 文档的 SDK,可确保为您的受众和用户提供最佳文件。Adobe PDF Library 可在我们的网站上 免费下载评估版

为了帮助您轻松完成下一个 PDF 项目,请点击此处 下载一份指南,其中重点介绍了您应该了解的四种最佳实践,以实现最佳的 PDF 文档。

© . All rights reserved.