在嵌入式平台上以编程方式从PS创建PDF

时间:2016-10-25 18:37:30

标签: c++ pdf embedded postscript

是否有可以在C / C ++中使用的库/工具,可以将PS(后脚本)文件转换为.PDF文件,嵌入式平台(专有操作系统,无窗口,无Linux)?

我一直在寻找可以移植到我们操作系统的某种库。我发现基本上只有Ghostscript,但问题是有许可证,如果我理解正确,我们必须公开我们的来源,这对我们来说是不可能的......

也许更多背景,我们正在尝试找到用户可以轻松查看的格式。由于其他原因,我们已经在PS中输出了输出(打印机)。但是现在我们想要在文件中自己提供这个输出,所以我们试图找到可行的文件格式。我们正在考虑PS本身,但普通用户没有PS查看器,所以这就是我试图找到将其转换为PDF的原因。 也许替代问题可能是,是否有其他格式可以从PS轻松获取,以便“常规”用户可以查看它?

2 个答案:

答案 0 :(得分:1)

将PostScript转换为其他东西的主要复杂性来自于PostScript是一种编程语言,PostScrip文件实际上是在打印机上执行的程序。

与PostScript相比,PDF不是一种编程语言。将PostScript转换为PDF(或其他任何东西)时,实际上必须运行PostScript程序并记录在执行PostScript程序期间执行的图形基元调用。

当您想要将PostScript程序从任何源转换为PDF时,需要使用这种通用方法。

但是您写道,您自己正在创建PostScript代码。也许您的PostScript程序只是对绘图基元的线性调用序列,并且不使用子程序或控制结构之类的任何东西。

如果没有,可能很容易更改您的生成器在创建时执行这些计算,这些计算当前是在打印时执行的。您最终会以一系列线性调用绘制图元。

如果在打印时没有完成计算,直接创建PDF而不是PostScript应该不会太难。这个answer提到了一个使用MIT风格许可证的开源PDF生成库。

答案 1 :(得分:0)

Ghostscript的AGPL许可证要求您打开源代码,是的。但是Ghostscript是双重许可的,除了AGPL许可证,您还可以购买商业许可证,这不需要您开源自己的代码。

当然,您可以简单地使用Ghostscript将PostScript渲染为位图,而不是转换为PDF,通常很容易将查看器包裹起来。

我应该指出,还有其他公司为PostScript解释器提供商业许可证,能够创建PDF文件和/或渲染PostScript。 Adobe显而易见,还有Global Graphics。

现在没有多少玩家留在现场,如果你想处理PostScript,而且AGPL或类似的许可证不适合你,那么你需要商业化。