将PDF与“pdftk”进行裁剪和组合的问题`

将PDF与“pdftk”进行裁剪和组合的问题`,pdf,wkhtmltopdf,pdftk,Pdf,Wkhtmltopdf,Pdftk,使用pdftk时出现一些问题 我试图获取指定目录中每个PDF的第二页,并将它们合并到一个输出文件中 注意:有问题的PDF文件是使用wkhtmltopdf创建的 我切换到目录并运行以下操作: mkdir trimmed-combined for i in *pdf ; do pdftk “$i” cat 2 output “trimmed-combined/trimmed-combined1.pdf” ; done 我收到以下错误: Unexpected Exception in open_

使用
pdftk
时出现一些问题

我试图获取指定目录中每个PDF的第二页,并将它们合并到一个输出文件中

注意:有问题的PDF文件是使用
wkhtmltopdf
创建的

我切换到目录并运行以下操作:

mkdir trimmed-combined
for i in *pdf ; do
  pdftk “$i” cat 2 output “trimmed-combined/trimmed-combined1.pdf” ;
done
我收到以下错误:

Unexpected Exception in open_reader()
java.lang.IllegalArgumentException: null filename passed into RandomAccessFileOrArray()
   at pdftk.com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(pdftk)
   at pdftk.com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(pdftk)
   at pdftk.com.lowagie.text.pdf.PRTokeniser.<init>(pdftk)
   at pdftk.com.lowagie.text.pdf.PdfReader.<init>(pdftk)
   at pdftk.com.lowagie.text.pdf.PdfReader.<init>(pdftk)
Error: Failed to open PDF file: 
   “??
open_reader()中出现意外异常
java.lang.IllegalArgumentException:传入RandomAccessFileOrArray()的空文件名
请访问pdftk.com.lowagie.text.pdf.randomAccessFileOrray.(pdftk)
请访问pdftk.com.lowagie.text.pdf.randomAccessFileOrray.(pdftk)
在pdftk.com.lowagie.text.pdf.PRTokeniser
在pdftk.com.lowagie.text.pdf.PdfReader
在pdftk.com.lowagie.text.pdf.PdfReader
错误:无法打开PDF文件:
“??

这些文件肯定在那里,所以我不确定它们为什么没有被正确读取。

我使用了您原来的命令(我只是为了可读性而重新格式化):

我和你犯的错误完全一样

但正如@MartinSchröder在评论中所观察到的,以及我在编辑您的OP以提高可读性时所注意到的,您使用的引用如下:

$  unicode “”

  U+201C LEFT DOUBLE QUOTATION MARK
  UTF-8: e2 80 9c  UTF-16BE: 201c  Decimal: &#8220;
  “
  Category: Pi (Punctuation, Initial quote)
  Bidi: ON (Other Neutrals)

  U+201D RIGHT DOUBLE QUOTATION MARK
  UTF-8: e2 80 9d  UTF-16BE: 201d  Decimal: &#8221;
  ”
  Category: Pf (Punctuation, Final quote)
  Bidi: ON (Other Neutrals)
我假设您已从HTML电子邮件、PDF文档或使用“智能”引号的网页复制了“n”粘贴(部分)此命令。这些引号在shell中无法正常工作。您需要使用ASCII引号:

$  unicode \"

  U+0022 QUOTATION MARK
  UTF-8: 22  UTF-16BE: 0022  Decimal: &#34;
  "
  Category: Po (Punctuation, Other)
  Bidi: ON (Other Neutrals)
因此,将命令更改为此,所有操作都将按预期进行:

mkdir trimmed-combined
for i in *pdf ; do
  pdftk "$i" cat 2 output "trimmed-combined/trimmed-combined1.pdf" ;
done

您的引用看起来可疑。请尝试调试shell脚本。文件名有多长?请尝试较小的文件名。
mkdir trimmed-combined
for i in *pdf ; do
  pdftk "$i" cat 2 output "trimmed-combined/trimmed-combined1.pdf" ;
done