在网络服务器上分割 PDF 文件
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
为了方便起见,提取的 PDF 页面可以被重命名。默认重命名模板为 [Name].page#.pdf。因此,如果您拆分 Report.pdf,拆分后的文件将显示为 Report.page1.pdf,Report.page2.pdf,等等。
PDF SplitterX 是在 Windows 网络或 SQL 服务器上拆分 PDF 文件的最强大且经济实惠的解决方案。立即下载您的评估副本并试用 30 天。
在寻找基于服务器的解决方案?在 CoolUtils 服务器产品上发现一系列适用于强大性能的服务器产品。
支持和升级。
阅读我们的支持政策,以了解 PDF SplitterX 的支持或升级选项。新注册用户可免费获得 1 年的软件维护。
有用的附加组件:
|
|
string src="C:\\test\\test1.pdf";
string dest="C:\\test\\DestFolder\\";
PDFSplitterX Cnv = new PDFSplitterX();
Cnv.Convert(src, dest, "-c PDF -log c:\\test\\Splitter.log");
MessageBox.Show("转换完成!");
dim C
Set C=CreateObject("PDFSplitter.PDFSplitterX")
C.Convert "c:\source1.pdf", "c:\Dest Folder\\", "-fo"
set C = nothing
$src="C:\\test\\test.pdf";
$dest="C:\\DestFolder\\";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFSplitter.PDFSplitterX");
$c->convert($src,$dest, "-c PDF -log c:\doc.log");
if (file_exists($dest)) echo "成功"; else echo "失败:" . $c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('PDFSplitter.PDFSplitterX')
src="C:\\test\\test.pdf";
dest="C:\\test\\DestFolder";
c.convert(src,dest, "-c PDF -log c:\\test\\PDFSplitter.log");
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("PDFSplitter.PDFSplitterX")
src="C:\\test\\test.pdf";
dest="C:\\test\\DestFolder";
c.convert(src, dest, "-c PDF -log c:\\test\\PDFSplitter.log");
if not os.path.exists(file_path):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
Source: String;
begin
c:=CreateOleObject('PDFSplitter.PDFSplitterX');
Source:='c:\test\source1.pdf';
C.Convert(Source, 'c:\DestFolder', '-cPDF -log c:\test\PDFSplitter.log');
IF c.ErrorMessage<> Then
ShowMessage(c.ErrorMessage);
end;
use Win32::OLE; my $src="C:\\test\\test1.pdf"; my $dest="C:\\DestFolder"; my $c = CreateObject Win32::OLE 'PDFSplitter.PDFSplitterX'; $c->convert($src,$dest, "-c pdf -log c:\\test\\PDFSplitter.log"); print $c->ErrorMessage if -e $dest;
PDF SplitterX 附带 PDFSplitterX.exe,这是一个可以从脚本、计划任务、CI 运行器或任何后端服务驱动的控制台二进制程序。标志集与 GUI 版的 PDFSplitter.exe 一致;完整参考请参阅命令行文档。下面的配方涵盖了我们最常从 SDK 客户那里听到的场景。
最简单的调用方式 —— 一个源文件、一个输出文件夹。每页都使用默认的 Name.pageN.pdf 命名模板成为自己的 PDF。
PDFSplitterX.exe "C:\PDF\Report.pdf" "C:\out\" -cPDF
当您只需要文档的一部分时 —— 附录、单个章节、签名页 —— -p 接受逗号分隔的页面和范围列表。
PDFSplitterX.exe "C:\PDF\Contract.pdf" "C:\out\" -cPDF -p "2-3"
混合单个页面和范围:-p "1,3,6-10,15" 提取这些精确的页面并跳过其余部分。
用于分发或审查,大型 PDF 在固定大小的块中更易于处理。-cp 每 N 页启动一个新的输出文档;与 -p 结合使用以限制源范围。
PDFSplitterX.exe "C:\PDF\Manual.pdf" "C:\out\" -cPDF -p "1-8" -cp 4
该调用从第 1–8 页生成两个 4 页的 PDF。删除 -p 以分块整个文件。
书籍、技术手册和法律 PDF 通常带有书签树。在书签边界拆分可以为您提供每章、每节或每篇文章一个 PDF。-b 选择书签级别 —— 级别 1 在顶级书签处拆分,级别 2 在子书签处拆分,依此类推。
PDFSplitterX.exe "C:\PDF\Handbook.pdf" "C:\out\" -em bookmarks -b 3
经典的高容量扫描工作流:将一堆混合文档通过扫描仪馈送,每个文档之间放一张空白纸,然后在这些空白处拆分生成的 PDF。-bc 设置多少连续的空白页标记边界;-bt(1–10)控制几乎为空的页面被视为空白的积极程度。
PDFSplitterX.exe "C:\scans\daybatch.pdf" "C:\out\" -em blanks -bc 2 -bt 5
对于双面扫描重建和分离正反布局非常有用。-em odd 保留奇数页,-em even 保留偶数页。
PDFSplitterX.exe "C:\PDF\Duplex.pdf" "C:\out\fronts\" -cPDF -em odd
PDFSplitterX.exe "C:\PDF\Duplex.pdf" "C:\out\backs\" -cPDF -em even
默认文件名为 Source.page1.pdf、Source.page2.pdf 等。-t 设置自定义模板;# 字符标记计数器位置,其后的数字设置填充宽度。-ts 设置起始数字。
PDFSplitterX.exe "C:\PDF\Report.pdf" "C:\out\" -cPDF -t "page#5" -ts 1
这会生成 page00001.pdf、page00002.pdf、… 传递 -ts -1 以从目标文件夹中已有文件的数量继续编号。
服务器端拆分几乎总是在输入文件夹上运行。-Recurse 遍历子目录;-kfs 在输出端重新创建相同的树;-log 加 -verbosity detail 每个文件写一行,因此您可以审计发生了什么。目标使用 <DATE> 宏将每次运行落入自己的日期文件夹中。
PDFSplitterX.exe "C:\inbox\*.pdf" "C:\out\<DATE>\" -cPDF -Recurse -kfs -fo -log "C:\logs\splitter.log" -verbosity detail
添加 -do 以在成功拆分后删除原始文件 —— 当收件箱纯粹是一个队列时很方便。
当工作进程写入队列文件而拆分器消耗它时,您不希望将文件路径编码到命令行本身。-list 从文本文件中读取文件掩码(每行一个)。
PDFSplitterX.exe -list "C:\queues\split-batch.txt" "C:\out\" -cPDF -em pages