2

是否可以使用qpdf工具将 PDF 文件分成两部分或n部分?

文档是这样说的,但我找不到执行此操作的确切命令。

我正在使用 qpdf 版本 10.0.1。

4

2 回答 2

3

是的,这很容易:

假设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

于 2020-11-19T16:17:48.543 回答
1

一种有点粗暴的处理方式,可以通过修改大文件和输出 = 然后重新运行它来更新多个文件的子集。一旦我为它制作了适当的功能,就会更新。

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")
于 2020-08-28T20:03:23.503 回答