一般打印光栅和/或矢量图像

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 将接受栅格或矢量形式的数据。

【讨论】:

以上是关于一般打印光栅和/或矢量图像的主要内容,如果未能解决你的问题,请参考以下文章

将点转换为矢量线的算法。 (光栅到矢量)

用光栅图像替换 PDF 中的矢量图像

将大型光栅图形图像(位图、PNG、JPEG 等)转换为非矢量 postscript

Vectoraster 7.4.6 | 光栅图案和半色调

如何以编程方式 (Python/JS/C++) 将矢量图形 (SVG) 插入 JPG/TIF 等光栅图像?

文本和矢量艺术的快速光栅化