【问题标题】:How can you specify the description of the attachment with `pdftk`?如何使用 `pdftk` 指定附件的描述?
【发布时间】:2011-11-04 15:07:41
【问题描述】:

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

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

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

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

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

有什么办法吗?

【问题讨论】:

    标签: pdf ghostscript postscript pdftk


    【解决方案1】:

    简答:

    在使用pdftk时,您(目前)无法添加文件附件的描述。
    (但是,添加此功能应该不会太复杂,因为它只需要一个额外的键输入@ 987654324@ 到文件附件字典...也许您应该向pdftk 开发人员提交功能请求?)

    更长的答案:

    在 Ghostscript(最新版本)的帮助下,您或许能够实现您想要的。 但请注意,这很复杂!

    它需要使用定义 pdfmark operator 的特殊 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 文件的屏幕截图:

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2011-03-26
      • 2018-09-01
      • 1970-01-01
      • 2017-04-20
      • 2018-12-21
      • 2011-07-18
      • 2011-02-12
      相关资源
      最近更新 更多