是否可以使用qpdf工具将 PDF 文件分成两部分或n部分?
文档是这样说的,但我找不到执行此操作的确切命令。
我正在使用 qpdf 版本 10.0.1。
是的,这很容易:
假设infile.pdf
有 12 页(pagecount):
qpdf.exe --split-pages=n infile.pdf output-%d.pdf
伪代码:
n = 整数(页数 / number_of_parts)
原始文档中的更多详细信息:
--split-pages=[n]
将每组 n 页写入单独的输出文件。如果未指定 n,则创建单个页面。输出文件名生成如下:
如果字符串 %d 出现在输出文件名中,则将其替换为从 1 开始的一系列零填充页码。
否则,如果输出文件名以 .pdf 结尾(不区分大小写),则会在文件扩展名之前插入一个以短划线开头的零填充页面范围。
否则,文件名会附加一个零填充的页面范围,前面有一个破折号。
在单页组的情况下,页面范围是单个数字,否则是由破折号分隔的两个数字。例如,如果 infile.pdf 有 12 页
qpdf --split-pages infile.pdf %d-out 将生成文件 01-out 到 12-out
qpdf --split-pages=2 infile.pdf outfile.pdf 将通过 outfile-11-12.pdf 生成文件 outfile-01-02.pdf
qpdf --split-pages infile.pdf something.else 将通过 something.else-12 生成文件 something.else-01
参考:http: //qpdf.sourceforge.net/files/qpdf-manual.html#ref.basic-options
一种有点粗暴的处理方式,可以通过仅修改大文件和输出 = 然后重新运行它来更新多个文件的子集。一旦我为它制作了适当的功能,就会更新。
pacman::p_load(pdftools, qpdf)
#some prep
bigfile <- "Some/File/Path.pdf"
biginfo <- pdf_length(bigfile)
# now we subset x2 being sure to define unique names for output
# otherwise the second file will overwrite the first one we create here.
# for part 1
pdf_subset(bigfile,
pages = 1:(biginfo/2),
output = "Some/File/Path_part_1.pdf")
# for part 2
pdf_subset(bigfile,
pages = ((biginfo+1)/2):biginfo,
output = "Some/File/Path_part_2.pdf")