3

在 PDFTK 的文档中没有提到如何做到这一点。命令:

pdftk file.pdf attach_files attachDoc.pdf to_page 2 output -

会将文件附加到原始文件的第 2 页file.pdf并将结果输出到<stdout>.

attachDoc.pdf是文件系统的文件名。但是我不能为此指定任何描述以在最终文件中显示带有适当符号描述的附件。

这将特别有用,因为在自动生成操作中,附件通常具有服务器分配的临时名称,并且需要描述

有没有办法做到这一点?

4

1 回答 1

3

简短的回答:

您不能(当前)在使用pdftk.
(不过,添加这个功能应该不会太复杂,因为它只需要一个附加/Desc的文件附件字典键条目......也许你应该向pdftk开发人员提交一个功能请求?)

更长的答案:

借助 Ghostscript(最新版本),您可能能够实现您想要的。但请注意,这很复杂!

它需要使用定义pdfmarkoperator的特殊 PostScript 扩展。创建此运算符是为了将高级功能插入到 PDF 文件中,该文件不能在 PostScript 本身中使用。

我将借助一个单独的文件来演示它,该文件使用一系列pdfmark操作将文本文件插入 PDF。这是文本文件的内容,mypdfmark-for-attachments.ps

 [                                           /NamespacePush  pdfmark
 [ /_objdef {fstream} /type /stream          /OBJ            pdfmark
 [ {fstream} << /Type /EmbeddedFile >>       /PUT            pdfmark

 [ {fstream} (I only simulate text file content here...)
                                             /PUT            pdfmark
 [ /Name <feff 0044 005a 005a 005a 005a 005a>
   /FS<<
      /Desc  (dEsCrIpTiOn)
      /Type  /Filespec
      /F     (my.txt)
      /EF    <<
             /F {fstream}
             >>
      >>                                     /EMBED          pdfmark
 [ {fstream}                                 /CLOSE          pdfmark
 [                                           /NamespacePop   pdfmark

如您所见,/Desc密钥包含我的描述文本dEsCrIpTiOn

现在运行这个 Ghostscript 命令:

gs -o emb.pdf -sDEVICE=pdfwrite mypdfmark-for-attachments.ps -f some.pdf 

这是由 Acrobat 显示的生成 PDF 文件的屏幕截图:

Acrobat 截图

于 2015-05-23T21:45:07.220 回答