我喜欢打印文档。文档的内容是具有不同颜色的表格和文本。是否存在lightwight打印机文件格式,可以像模板一样使用?
我认为PS,PDF,DOC文件很难解析。可能存在一些XML或YAML文件格式,它支持:或者我是否必须按照常规方式进行操作并在CDC中进行绘画?
答案 0 :(得分:2)
所有(甚至许多)打印机都不支持通用语言。虽然PCL和PS是最常用的,但也有打印机只能使用特定的打印机驱动程序,因为它们只支持专有的数据格式(通常在客户端预先渲染)。
但是,您可以使用XSL-FO创建文档,然后使用库支持将文档呈现给打印机驱动程序。
答案 1 :(得分:2)
我注意到你正在使用MFC(所以,Windows)。在这种情况下,答案是肯定的。在最新版本的Windows中,Microsoft提供了XPS Document API,它允许您使用XML创建和操作类似PDF的文档,然后可以使用XPS Print API进行打印。
(对于不支持此API的早期版本的Windows,您可以尝试直接处理XPS文件格式,但这可能比使用CDC
要困难得多。即使使用API,您也会工作在相当低的水平。)
最终用户可以使用available的XPS打印驱动程序从Microsoft免费生成XPS文档(并与某些MS产品捆绑在一起 - 他们可能已经在他们的系统中使用它了。)
答案 2 :(得分:1)
我认为像TeX或LaTeX(甚至troff或groff)这样的东西可能会满足您的需求。谷歌他们看到。
还有一些库可以从HTML源代码中呈现要打印的文档。以http://libharu.sourceforge.net/为例。这将输出打印机就绪的.PDF
答案 3 :(得分:1)
认为Post Script是一个非常好的选择。 它实际上是一种非常简单的语言,它必须非常容易解析,因为它是面向堆栈的。然后 - 大多数打印机都会对其进行支持,即使您没有支持,也可以使用GhostScript转换为许多不同的格式(将GS视为“虚拟PS支持打印机”)。 最后,有很多关于该语言的书籍和教程。
关于解析 - 您实际上可以在PS中定义新的变量和函数。所以,也许,您的问题可以(几乎)完全使用PS解决。
答案 4 :(得分:1)
可以正确打印HTML + CSS。 CSS旨在通过media属性支持此功能,以指定您的CSS用于打印机布局,而不是用于屏幕布局。像PRINCE(免费+商业版)这样的工具可用于打印。
答案 5 :(得分:0)
我认为postscript是打印机使用的标记语言。我在某处读到了这个,所以如果后记现已过时,请纠正我。
答案 6 :(得分:0)
对于功能更强大的套件,您可以使用Latex。它将提供创建模板的选项,您可以在其中复制文本。
在更友好的GUI上,MS-Word和其他文字处理器都有模板。问题是它们不是通用标准或标记。
您还可以使用HTML在常见标记中呈现内容,但它不会非常适合打印机。