7

我希望创建(作为概念验证)一个将 PCL 代码转换为 PDF 格式的 OCaml(最好)程序。我不知道从哪里开始。是否有这样做的标准化算法?是否有任何其他建议可用于完成此任务?

谢谢!

4

3 回答 3

2

Ghostscript 开发人员最近将他们的姊妹产品 GhostXPS、GhostPCL 和 GhostSVG 集成到他们的Ghostscript 源代码树中。(现在称为GhostPDL。)所以所有这些附加功能(加载、渲染和转换 XPS、PCL 和 SVG)现在都可以从那里获得。

这意味着你可以建立他们的语言切换二进制文件。理论上,这可以使用 PCL、PDF 和 PostScript 并将其转换为许多其他格式。虽然它在我需要时对我有用,但 Ghostscript 开发人员建议停止使用语言切换二进制文件(因为它“几乎不受支持”——请参阅 KenS 对此答案的评论),而是改用显式二进制文件pcl6.exe(PCL 输入)、gsvg.exe(SVG 输入,也“几乎不支持”)和gxps.exe(我不清楚支持状态)。

因此,要将 PCL 代码转换为 PDF 格式作为请求区域,您可以使用 pcl6 命令行实用程序,它是 Ghostscript 的 gs/gswin32c.exe.

示例命令行:

 pcl6.exe  \
  -o output.pdf  \
  -sDEVICE=pdfwrite  \
   [...more parameters as required (optional)...]  \
  -f input.pcl

更新根据 KenS 在评论中的提示进行了

于 2011-02-12T11:57:24.323 回答
2

PCL 到 PDF 的转换可能非常复杂(假设您需要它是通用的,而不仅仅是简单的 PCL)。我们已经对此进行了多次投资,最终总是恢复使用其他工具。我们一直在调查,因为我们是一家开发商店,我们非常详细地使用和理解 PCL 的所有元素。如果您对 PCL 不是很熟悉,那将是一项艰巨的任务。主要问题之一是加班,打印机在很大程度上已经成为格式错误的 PCL 的容忍者,因此,创建符合法律条文的规则并不总是足够的。如果; 但是,您可以控制 PCL,您可能会取得一定程度的成功。

我并不是要让你关闭它,我意识到你来这里是为了寻找编程答案,但我不得不说,这远非简单的任务,并且没有“标准化算法”可以解决这个问题(即我知道)。

如果这被设计为与您正在构建的其他东西一起工作的工具,我强烈建议您看看这些人:

PageTech

这是迄今为止处理此问题的最完整的工具集 (Windows)。还有一些其他的,但根据我们多年来对 PCL 和转换工具的广泛使用,这是唯一一直有效的。

编辑:最近我们一直在使用 LincPDF ( http://www.lincolnco.com/ )。这也是一款优秀的产品,有一个很大的好处,部署简单。其他一些工具具有复杂的软件安装。这个解决方案对我们来说很容易部署为应用程序中的一个功能。它也比我们迄今为止测试过的任何工具都更快(至少使用我们从应用程序生成的 PCL,因为它们包含专门的字体和宏,所以相当复杂)。

于 2009-03-24T15:38:39.407 回答
1

有一系列来自惠普的参考书;您可以重新实现 PCL 解析器并输出相应的 PDF。

您可以从“PCL 5 打印机语言技术参考手册”(http://h20000.www2.hp.com/bc/docs/support/SupportManual/bpl13210/bpl13210.pdf)开始。搜索 HP 了解更多信息 ( http://search.hp.com/query.html?qt=PCL+reference )。

或者您可以从 GhostPCL ( http://www.ghostscript.com/GhostPCL.html )窃取代码或想法

于 2009-03-19T23:19:09.670 回答