一般打印光栅和/或矢量图像
Posted
技术标签:
【中文标题】一般打印光栅和/或矢量图像【英文标题】:General printing raster and/or vector images 【发布时间】:2009-10-10 10:43:22 【问题描述】:我正在寻找一些用于打印的 API。
基本上我想要实现的是将一组像素(我存储在内存中的单色位图)打印到通用纸张格式(A4、A5..等)上。
我认为最小的 API 是:
打印机设备列表 我可以发送内存中像素图的打印机缓冲区(例如 winXP 打印机任务文件夹) 一些 API 可以将 SI 尺寸转换为打印机分辨率,或根据之前的 - 内存像素图(例如 450x250)以适当的分辨率转换到纸张上。我考虑的是 postScript,但我有一些旧的 LPT 驱动的激光打印机,它可能不支持 *PS。
目前我正在尝试在 Qt - QGraphicsView 中找到一些有趣的东西。
http://doc.trolltech.com/4.2/qgraphicsview.html
【问题讨论】:
【参考方案1】:你已经接近了,看看Printing in Qt。 QPrinter 类实现了您正在寻找的一些内容。它可以作为QPaintDevice
实现。这意味着可以打印任何可以在屏幕上呈现自身的小部件。这也意味着您不需要渲染到位图进行打印,您可以使用 Qt 小部件或绘图功能进行打印
附带说明,检查 Qt 文档的版本号,Qt 的最新版本是 4.5,4.6 处于测试阶段。
【讨论】:
【参考方案2】:您可能想investigate wx python for printing。不过,学习框架对您来说可能有点开销!我过去在 Windows 和 linux 上都取得了成功。
我还使用reportlab 制作了 PDF,使用最少的操作系统交互即可轻松打印。
【讨论】:
【参考方案3】:我会使用PIL 创建一个 BMP 文件,然后只使用标准操作系统服务来打印该文件。 PIL 将接受栅格或矢量形式的数据。
【讨论】:
以上是关于一般打印光栅和/或矢量图像的主要内容,如果未能解决你的问题,请参考以下文章
将大型光栅图形图像(位图、PNG、JPEG 等)转换为非矢量 postscript