大多数Split PDF工具按页数划分文档。让工具每 10 个页面进行分割,无论每个页面包含多少数据,它都会生成一组 10 页的块。对于页面内容密度差异很大的文档,页数拆分会产生大小截然不同的文件。 10 页的文本部分可能为 100 KB。包含高分辨率照片的 10 页部分可能为 25 MB。按文件大小而不是页数拆分会生成每个输出文件都在特定兆字节限制下的文件,这是电子邮件服务器、上传表单和文档管理系统实际强制执行的。
基于文件大小的拆分比页数拆分更复杂,因为该工具必须在执行拆分之前估计有多少页适合目标大小。由于 PDF 压缩和对象重复数据删除会影响最终文件大小,因此估计永远不会准确。该工具会保守地进行分割,生成略低于目标的文件,最后一个文件包含剩余的页面。
WukongPDF 的PDF Batch 分割工具为文档分发工作流程提供页数和文件大小分割选项。

为什么文件大小分割对于分发很重要
电子邮件附件限制是文件大小分割的最常见原因。 Gmail 将附件大小限制为 25 MB。大多数计划的 Outlook 限制为 20 MB。企业电子邮件服务器通常会施加更低的限制,有时为 10 MB 或 5 MB。需要通过电子邮件发送的 60 MB PDF 必须分成适合收件人附件限制的块。按页数拆分可能会产生一个 22 MB 的块和另一个 38 MB 的块,这两个块都无法通过电子邮件发送。按文件大小拆分可保证每个块都在限制范围内。
在线上传表单还强制执行文件大小限制。政府门户网站、法院备案系统和求职网站通常将上传限制为 5 MB、10 MB 或 25 MB。该限制会显示在上传页面上,超过该限制会在上传已消耗时间后产生错误。将 PDF 预先分割成大小兼容的块,确保第一次尝试上传成功。
具有每个文件存储配额的文档管理系统受益于一致的文件大小。按存储千兆字节收费的系统对于文件是按页数还是按大小分割无关紧要,但限制每个记录的文件数的系统可能会惩罚产生许多小文件的页数分割。了解下游系统约束可以为拆分策略提供信息。
尝试拆分 PDF
无需安装。直接在您的浏览器中工作。
方法一:Adobe Acrobat Pro 按大小分割
Acrobat Pro 在其拆分文档工具中包含文件大小拆分选项。打开 PDF 并转到“工具”、“组织页面”,然后单击“拆分”。在拆分对话框中,从拆分下拉列表中选择文件大小。输入最大文件大小(以兆字节为单位)。 Acrobat 会估计该尺寸内适合的页面数量并相应地进行拆分。
Acrobat 按大小分割算法非常适合页面相对均匀的文档。对于页面大小变化很大的文档,估计值可能会偏差 10% 到 20%,因为 Acrobat 无法精确预测输出压缩将减少每个页面对文件大小的影响程度。分割后,检查输出块的实际文件大小。如果任何块超过目标,请稍微减小目标大小并重新拆分。
Acrobat 通过在原始文件名后附加后缀来命名输出文件,例如 Document_Part1.pdf、Document_Part2.pdf。命名约定清楚地表明文件是一个整体的一部分,并指示了正确的阅读顺序。对于将由收件人重新组合的文档,请在第一部分中包含一个封面页,解释预期有多少部分以及如何重新组装它们。
方法 2:使用 pdftk 进行命令行分割
pdftk 没有原生的按大小分割功能,但可以编写脚本来实现相同的结果。该方法是将 PDF 拆分为单独的页面,测量每个页面的文件大小,然后将页面分组为累积大小保持在目标以下的块。 bash 或 PowerShell 脚本可自动执行此工作流程。
首先,使用 pdftk 将 PDF 突发为单独的页面文件:pdftk input.pdfburst。这会生成 pg_0001.pdf、pg_0002.pdf 等。使用 ls -l 或 du 等系统命令来测量每个页面文件的大小。按顺序遍历页面,累积大小,直到下一页将总数推到目标之上。当达到目标时,使用 pdftk cat 将累积的页面合并到块文件中,重置累加器,然后继续下一个块。
在实践中,pdftk 方法是免费且可编写脚本的,使其适合批处理和服务器端自动化。准确性取决于每页文件大小的测量。由于共享资源(例如字体)在各个页面文件中重复,作为单独文件测量的各个页面可能比组合成单个 PDF 的相同页面稍大。最终的块文件大小将略小于各个页面大小的总和。
方法 3:使用 pike 编写 Python 脚本pdf
实际上,pikepdf 库提供了对 PDF 分割的字节级精度的编程控制。 Python 脚本打开 PDF,遍历页面,并使用 pikepdf API 为每个块创建一个新的 PDF。该脚本跟踪添加到当前块的页面的累积未压缩大小,并在添加下一页超出目标时启动新块。
pikepdf 提供对原始页面内容流的访问,从而在写入输出文件之前实现准确的大小估计。该脚本还可以使用特定设置(例如图像的 JPEG 压缩)来压缩每个块,以进一步控制输出文件大小。 Python 方法通过单独压缩该页面而不是失败来处理边缘情况,例如大于目标大小的单个页面。
处理文件大小分割中的边缘情况
当单个页面超过目标文件大小时,拆分无法在保持低于目标的情况下生成仅包含该页面的块。选项包括使用更积极的图像下采样来单独压缩超大页面,如果页面由多个逻辑部分组成,则将页面拆分为更小的子页面,或者接受该页面将超出目标并注意到异常。
对于具有许多小页面的文档,按大小分割算法可能会生成页数差异很大的块。第 1 块可能包含 50 页文本。第 2 块可能包含 3 页照片。应告知接收者,块的页数有所不同,因为分割标准是文件大小,而不是页数。
| 方法 | 工作原理 | 最适合 |
|---|---|---|
| Acrobat Pro 按大小拆分 | 指定每个输出文件的最大 MB | GUI 用户,偶尔分裂 |
| 带有大小估计的 pdftk | 迭代页面直到达到目标大小 | 脚本化工作流程,免费 |
| Python + 派克pdf | 读取页面大小,累计超过目标时拆分 | 自定义逻辑、批处理 |
分配前验证分割输出
按文件大小分割后,打开每个输出块并确认第一页和最后一页正确。分割应该发生在页面边界,而不是页面中间。验证所有块的总页数是否等于原始文档的页数。差异表明页面在拆分期间被删除。
根据目标检查每个块的文件大小。块应该等于或略低于目标。如果块超出目标 5% 以上,则分割算法低估了输出大小。将目标降低 10% 并重新拆分。 5% 到 10% 的余量考虑了压缩可变性和共享资源开销。
按文件大小而不是页数拆分 PDF 会产生尊重数字发行实际限制的输出。电子邮件服务器、上传表单和存储配额并不关心 PDF 有多少页。他们关心它有多少兆字节。文件大小分割使分割策略与重要的约束保持一致。
自动重复文件大小分割
从实际角度来看,在文档工作流程中,对于定期拆分大型 PDF 进行分发的组织,可以自动化按大小拆分工作流程。脚本监视文件夹中是否有超过阈值大小的传入 PDF,将它们分成组织标准电子邮件附件限制下的块,并将这些块保存到具有一致命名的输出文件夹中。自动化消除了文档分发过程中的手动分割步骤。
自动化还可以生成一个清单文件,列出每个块的文件名、其文件大小及其包含的页面范围。清单伴随着块并告诉接收者如何重新组合文档。一个简单的文本文件,每个块一行,并以原始文件名作为标题就足够了。清单将任意命名的块文件的集合转换为清晰记录的文档包。
从广义上看,在文档工作流程中,对于企业文档管理系统,拆分自动化可以与系统 API 集成,以将每个块注册为父文档的相关组件。系统跟踪原始 60 MB 文档被分割成三个 20 MB 块进行分发,并可以根据需要重新组装它们以供需要完整文件的用户使用。
在接收方重新组装分割文件
通常,文件大小分割文档的接收者需要明确的重组指示。如果按正确的顺序合并,大多数 PDF 合并工具都可以将块合并回原始文档。块文件名应指示顺序:Document_Part1_of_3.pdf、Document_Part2_of_3.pdf 等。收件人打开合并工具,按顺序添加文件,并生成重新组合的文档。
对于非技术接收者,请在这些块中包含一个简短的说明文件。该说明文件解释了块是什么、应该有多少个、如何使用免费的在线 PDF 合并工具重新组合它们,以及块丢失或损坏时应联系谁。额外花一分钟时间编写说明文件可以防止混乱,并为收到多个没有上下文的 PDF 附件的收件人提出支持请求。
重新组装后,接收者应验证合并文档的页数是否与清单中规定的页数相符。不匹配表示块丢失或重复。清单页数是确认完整重组的权威参考。
尝试拆分 PDF
无需安装。直接在您的浏览器中工作。
