我可以使用Ghostscript将文本(传真)标题叠加到PDF和/或TIFF上吗?

时间:2012-01-16 19:50:29

标签: ghostscript postscript

我正在编写一个传真最终用户提供的文档(许多支持的类型)的应用程序。要求是最终用户还可以提供要用作自定义传真标题一部分的文本。

我一直在使用Ghostscript将PDF呈现为TIFF,到目前为止它一直很好用,但我还没有找到一种直接的方式将自定义标题覆盖在PDF的顶部。我已经尝试了一些建议:

......没有运气。

我已经使用ImageMagick成功完成了通过其他工具渲染到TIFF的文档,我知道ImageMagick可以自己渲染PDF到TIFF。但是,我想坚持使用Ghostscript,因为根据我的经验,它表现得更好,并且呈现更清晰的TIFF。

这是否可以使用Ghostscript和PS助手脚本?

修改

Ghostscript(v9.04)没有抛出任何错误。例如:

gswin64c -dSAFER -dBATCH -dNOPAUSE -dPDFFitPage -sDEVICE=tiffg3 ^
    -sOutputFile=goofy.tif ^
    -c "/Courier findfont 12 scalefont setfont 50 765 moveto (header text) show" ^
    -f goofy.pdf

...生成原始PDF的TIFF,但没有我试图添加的文本。如果我将showpage附加到postscript one-liner上(可以预见,我猜)会打印一个新的,空白除了标题的页面,这对我没有多大帮助。

3 个答案:

答案 0 :(得分:3)

我会使用另一个命令行工具与Ghostscript结合完成此任务。此工具为pdftk.exe。然后使用3步法:

  1. Ghostscript的任务是使用标题文本创建一个(否则为空)页面:
    gswin64c.exe ^
      -o header.pdf ^
      -sDEVICE=pdfwrite ^
      -c "/Courier findfont 12 scalefont setfont" ^
      -c "50 765 moveto (header text) show showpage"
    
  2. pdftk的任务是覆盖(标记背景)PDF文件,文本标题覆盖原始PDF:
     pdftk.exe goofy.pdf background header.pdf output goofy-with-header.pdf
    或{{ 2}}
  3. 最后一步是再次使用Ghostscript来创建最终的TIFF输出:
     pdftk.exe goofy.pdf stamp header.pdf output goofy-with-header.pdf

答案 1 :(得分:0)

我看到使用兴奋剂的方式是将PDF上的内容附加到PDF文件本身 - 在进行任何转换之前 - 设计PDF filew格式,以便可以在文件末尾附加额外信息(甚至是转到前一页。)

不幸的是,我从来没有做过 - 所以我可以告诉你你需要做什么 - 也许有一个编程语言的PDF编辑库可以让这个任务更容易 - 否则你将不得不创建PDF咬住自己。 (从某些输入格式渲染PDF的传统库不会这样做,因为你必须在现有文档的结构内部工作) - 但是看看PDF规范可以启发你对这个approacj,你检查它是否值得: http://www.adobe.com/devnet/pdf/pdf_reference_archive.html

另一种方法是处理文件的“另一端”:使用图像处理库在后期渲染的TIFF文件上布局文本。当然,只有在为您添加信息的页面上有固定空间时才可以这样做。

很抱歉无法提供完整的解决方案

答案 2 :(得分:0)

我刚刚用完全相同的方法尝试了完全相同的方法。然后我从命令行参数中删除了-dSAFER,它就像一个魅力。