我目前正在使用 pdftk,并且能够将文件夹中的多个 pdf 文件合并为一个 pdf。但它们不是按照存在的顺序生成的。输出文件是一个随机文件。
输入文件:
Avinash 123.pdf
Avinash 845.pdf
Avinash 963.pdf
输出文件 :
Avinash.pdf
(其中第一个 pdf 应该是 Avinash 123.pdf,之后是 Avinash 845.pdf 等等..)
目前我正在使用下面的脚本
@echo off
pdftk *.pdf cat output Brentwood.pdf
使用 pdftk 可以实现这个吗?
答案1
您需要按所需的顺序生成文件列表,然后将其合并到pdftk
运行字符串中:-
@echo off
Setlocal EnableDelayedExpansion
set pdfs=
for /f "tokens=*" %%f in ('dir /od /b *.pdf') do set pdfs=!pdfs! "%%f"
pdftk %pdfs% cat output Brentwood.pdf
笔记:-
- 您需要使用延迟扩展以便在循环
pdfs
的每次传递中使用当前值for
。 - 参数
dir
仅按日期/时间顺序列出文件名,并%%f
依次设置到每个文件。 - 在建立列表时,
%%f
由于文件名中有空格,因此需要用引号引起来。
这个稍微迂回的解决方案是因为似乎没有pdftk
使用外部文件列表的选项。