如何用`pdftk`指定附件的描述?

时间:2011-08-26 15:11:21

标签: pdf ghostscript postscript pdftk

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

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

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

attachDoc.pdf是文件系统的文件名。但我无法为此指定任何描述,以使用适当的符号描述在最终文件中显示附件。

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

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

简答:

  

使用pdftk时,您无法(当前)添加文件附件的说明     (但是,添加此功能应该不会太复杂,因为它只需要对文件附件字典进行额外的键入/Desc ...也许您应该向{{1}提交功能请求开发人员?)

更长的答案:

你可以在(最新版本的)Ghostscript的帮助下实现你想要的。 但要注意,这很复杂!

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

我将在一个单独的文件的帮助下演示它,该文件使用一系列pdftk操作将文本文件插入PDF。这是文本文件pdfmark

的内容
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

现在运行此Ghostscript命令:

dEsCrIpTiOn

以下是Acrobat显示的生成PDF文件的屏幕截图:

Acrobat screenshot