使用脚本在linux中组合多个PDF?
我想从X网站上保存/下载PDF,然后将所有这些PDF合并成一个,这样我就可以很容易地一次看到所有PDF 我所做的使用脚本在linux中组合多个PDF?,linux,scripting,Linux,Scripting,我想从X网站上保存/下载PDF,然后将所有这些PDF合并成一个,这样我就可以很容易地一次看到所有PDF 我所做的 从网站获取PDF文件 wget-r-l1-A.pdf--无父项 将PDF合并为一个 gs-dNOPAUSE-sDEVICE=pdfwrite-sOUTPUTFILE=Combined.date+%F.pdf-dBATCH file1.pdf file2.pdf file3.pdf 我的问题是,我想在一个脚本中自动化整个过程,这样我就不必每天都这样做了。这里每天都会在X中添加新的PDF
date+%F
.pdf-dBATCH file1.pdf file2.pdf file3.pdffile*.pdf
;但它以随机顺序组合了所有PDF
下一个问题是,*.pdf文件的总数每天都不一样,有时是5个pdf文件,有时是10个…但好在它的命名顺序是file1.pdf file2.pdf
所以,我需要一些帮助来完成上面的第2步,这样所有pdf都可以按顺序组合,并且我不必明确给出每个pdf的名称
谢谢
更新:
这就解决了问题
pdftk `ls -rt kanti*.pdf` cat output Kanti.pdf
我先下载了file1.pdf,然后下载了file2.pdf等等,所以我就做了ls-rt……只要做ls-t,就把file20.pdf放在开头,把file1.pdf放在最后……我以前就用过这种连接,因为pdftk恰好对Debian/Ubuntu可用。你可以做一些类似的事情:
GSCOMMAND="gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Combined_date +%F.pdf -dBATCH"
FILES=`ls file*.pdf | sort -n -k 1.5`
$GSCOMMAND $FILES
这是假设文件名为“file.pdf”。另见阿尔伯格的文章
它会对名称中带有空格的文件执行奇怪的操作,因此如果需要能够处理带有空格的名称,则需要添加转义
我真的很好奇其他人会想出什么,因为在我看来,这似乎是一个快速而肮脏的解决方案,但由于其他人的回答,它变得更好了:)
编辑
按照alberge的建议对文件使用数字排序命令。我过去也使用过pdftk,效果很好 要以数字顺序列出文件,可以通过执行以下操作来指示sort忽略文件名的前$n-1个字符:
ls | sort -n -k 1.$n
因此,如果您有*.pdf文件:
$ ls | sort -n -k 1.5
file1.pdf
file2.pdf
file3.pdf
file4.pdf
file10.pdf
file11.pdf
file20.pdf
file21.pdf
我想按顺序组合PDF;使用*.pdf将其以随机顺序组合…我想按此顺序组合file1.pdf…file9.pdf file10.pdf file11.pdf等等。。。