是否有像打印机标记语言这样的东西

时间:2010-10-14 08:05:49

标签: c++ xml mfc printing markup

我喜欢打印文档。文档的内容是具有不同颜色的表格和文本。是否存在lightwight打印机文件格式,可以像模板一样使用?

我认为PS,PDF,DOC文件很难解析。可能存在一些XML或YAML文件格式,它支持:

  1. 轻松创作(可能使用WYSIWYG-Editor)
  2. 使用Library-Support进行解析和操作
  3. 轻松发送到打印机(可能有图书馆支持)
  4. 或者我是否必须按照常规方式进行操作并在CDC中进行绘画?

7 个答案:

答案 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是打印机使用的标记语言。我在某处读到了这个,所以如果后记现已过时,请纠正我。

http://en.wikipedia.org/wiki/PostScript

答案 6 :(得分:0)

对于功能更强大的套件,您可以使用Latex。它将提供创建模板的选项,您可以在其中复制文本。

在更友好的GUI上,MS-Word和其他文字处理器都有模板。问题是它们不是通用标准或标记。

您还可以使用HTML在常见标记中呈现内容,但它不会非常适合打印机。