如何批量提取多个 pdf 的第一页

如何批量提取多个 pdf 的第一页

我知道另一个帖子有很多关于这个问题的答案;但是,我是新手,很多答案对我来说都是胡言乱语。不过我正在努力学习:)

无论如何,我已经安装了 ghostscript,并尝试使用此脚本运行了几次

for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
         -sOutputFile="${file%.pdf}-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ;

我从这里

我真的不知道该把程序批量提取的目录名、输出文件名和输出目录放在哪里。我知道这对你们大多数人来说都是基本的东西,但如果有人能帮我,我可能就省下好几年的工作了。

谢谢!

答案1

PDF 文件所在的目录是当前目录,因为for files in *.pdf ; ...没有为匹配的文件指定目录路径。

"$file"输出文件由bash扩展名组成,它从文件名末尾"${file%.pdf}-page1.pdf"删除并将其替换为,例如,在同一目录中生成输出文件。.pdf-page1.pdfreport.pdfreport-page1.pdf

您可以在子句中添加目录路径for,例如for files in SourceDir/*.pdf ; ...

您可以更改替换字符串;或者您可以添加一个目录,但如果在子句中使用目录路径,替换会变得更加复杂for

你应该读参数扩展bash手册中。

相关内容