我正在开发一个自动创建运输标签的项目,(艾利8127)准确地说。我收到了 USPS/UPS/FedEx 运输标签的 PNG 文件,但装箱单可能会因 PDF 或网页屏幕截图而有所不同。
我最初的(准成功的)解决方案是使用 ImageMagick 操作 USPS 标签,将装箱单转换为 PNG,然后再次使用 ImageMagick 将它们附加在一起以创建一个图形文件,其中两个图像布局正确。
然而,这并不理想。我希望能够生成一个新文档(无论是什么,PDF、PS、图像等),在其中将图形布局在需要的位置,并在其下方插入文本。我希望能够根据需要更改字体大小或添加/删除文本。
有哪些工具可用于此类事情?如何创建和布局新文档以编程方式基于图形文件和包含文本的文件?
(我可以使用 CUPS 打印机过滤器来做到这一点吗?)
我目前正在使用 macOS,但我正在寻找可移植的东西,以便稍后可以轻松地将其移动到 FreeBSD 服务器。
答案1
我不确定你的意思以编程方式,所以这里有一些想法。
如今,所有输出都以 PostScript 为目标,PostScript 本身就是一种语言,因此您可以用 PostScript 编写您的请求,但这有点困难。 (PDF 大部分可转换为 PostScript)。然而,为了克服转换工具的一些限制,您通常可以调整它生成的 PostScript 输出。
在另一个极端,有些命令enscript
采用纯文本并将其转换为 PostScript。虽然旨在帮助打印和突出显示 C 和 perl 等代码,但您可以在纯文本中嵌入命令来更改字体等,或者包含一些 PostScript 或 EPS 格式的图像。
其中降价语言,有重构文本它允许您更改字体并包含图像。rst2pdf
将其转换为 pdf。
Linux 和 FreeBSD 上最古老的排版语言是 troff,在 GNU 下扩展为groff
.它是专门为允许您将文本放置在一张纸上的任何位置而构建的,并且可以包含 PostScript 图像。基本命令可能有点难以掌握,但有几个宏类似的包mm
允许您相当简单地创建文档。
至于真正的编程,perl、C、java、python,可能都有某种库可以让您在某种程度上生成 pdf。