我希望创建(作为概念验证)OCaml(最好)程序,将PCL代码转换为PDF格式。我不知道从哪里开始。这样做有标准化的算法吗?是否还有其他建议可用于完成此任务?
谢谢!
答案 0 :(得分:2)
将PCL转换为PDF可能非常复杂(假设您需要它是通用的,而不仅仅是简单的PCL)。我们已经多次投资,最终总是使用其他工具。我们一直在调查,因为我们是一个开发商店,他们非常详细地使用和理解PCL的所有元素。如果你不熟悉PCL,那将是艰巨的任务。其中一个主要问题是加班时间,打印机在很大程度上已成为畸形PCL的一部分,因此,创建遵循法律规则的规则并不总是足够的。如果;但是,你可以控制PCL,你可能能够取得一定的成功。
我不是故意让你离开这个并且我意识到你来到这里寻找编程答案但是我不得不说,这远非简单的任务而且没有'标准算法'这(我知道)。
如果这是一个与你正在构建的其他人一起工作的工具,我强烈建议你看看这些人:
这是迄今为止用于处理此问题的最完整的工具集(Windows)。还有其他几个,但基于我们多年来广泛使用PCL和转换工具,这是唯一一直有效的工具。
编辑:最近我们一直在使用LincPDF(http://www.lincolnco.com/)。这也是一款优秀的产品,具有一大优势,部署简单。一些其他工具具有复杂的软件安装。我们可以非常轻松地将此解决方案部署为应用程序中的功能。它也比我们迄今为止测试过的任何工具都要快(至少我们从应用程序生成的PCL是非常复杂的,因为它们包含专用字体和宏)。
答案 1 :(得分:2)
Ghostscript开发人员最近将他们的姐妹产品GhostXPS,GhostPCL和GhostSVG整合到他们的Ghostscript source code tree中。 (它现在被称为 GhostPDL 。)所以所有这些附加功能(加载,渲染和转换XPS,PCL和SVG)现在都可以从那里获得。
这意味着您可以从其源代码构建语言切换二进制文件。理论上,这可以使用PCL,PDF和PostScript,并将其转换为许多其他格式。虽然它在我需要它时对我有用,但Ghostscript开发人员建议停止使用语言切换二进制文件(因为它几乎不支持' - 请参阅KenS对此答案的评论),而是切换到使用显式二进制文件{{1 }(PCL输入),pcl6.exe
(SVG输入,也几乎不支持)和gsvg.exe
(支持状态对我来说不清楚)。
因此要将'将PCL代码转换为PDF格式'作为请求分组,您可以使用 gxps.exe
命令行实用程序,一个姐妹产品到Ghostscript的 pcl6
。
示例命令行:
gs/gswin32c.exe
根据KenS在评论中的提示更新了 ....
答案 2 :(得分:1)
HP提供了一系列参考书;您可以重新实现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)
窃取代码或想法