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

标签 c++ pdf embedded postscript

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

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

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

最佳答案

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

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

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

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

如果不是,可能很容易将生成器更改为在创建时执行那些当前在打印时执行的计算。您最终会以线性顺序调用绘图基元。

当打印时不再进行计算时,直接创建 PDF 而不是 PostScript 应该不会太难。这answer提到了一个使用 MIT 样式许可证的开源 PDF 生成库。

关于c++ - 在嵌入式平台上以编程方式从 PS 创建 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40247290/

相关文章:

c - 软件和硬件中断的区别

memory - 我可以在 Atmel SAM E70 处理器中使用 "Instruction"TCM 来获取数据吗?

objective-c - 如何以编程方式嵌入 Nib ?

c++ - 带有 typeid 调用的 UB

c++ - 拆分 IplImage

c++ - C++模板的前向声明

java - 根据 HTTP 请求创建的 PDF 无法在 Internet Explorer 中打开

javascript - 将 Django 模板转换为 pdf

c++ - 将子类作为父类传递给方法

html - PdfSharp、GDI+ 和 HTML 打印