Общая печать растровых и / или векторных изображений - PullRequest
2 голосов
/ 10 октября 2009

Я ищу API для печати. ​​

В основном я хочу напечатать набор пикселей (монохроматическое растровое изображение, которое я храню в памяти) в общем формате бумаги (A4, A5 ... и т. Д.).

То, что я думаю, будет минимальным API:

  • список устройств принтера
  • буфер принтера, куда я мог отправить свое растровое изображение в памяти (например, как папка задач принтера winXP)
  • некоторый API, который переводил бы размеры SI в разрешение принтера или в соответствии с предыдущим - в растровом изображении в памяти (например, 450x250) на бумагу в соответствующем разрешении.

То, что я рассматривал, это postScript, но у меня есть какой-то старый лазерный реактивный двигатель с LPT, который, вероятно, не поддерживает * PS.

В настоящее время я пытаюсь найти что-то интересное в Qt - QGraphicsView.

http://doc.trolltech.com/4.2/qgraphicsview.html

Ответы [ 3 ]

0 голосов
/ 10 октября 2009

Я бы использовал PIL для создания файла BMP, а затем просто использовал стандартные службы ОС для печати этого файла. PIL будет принимать данные в растровой или векторной форме.

0 голосов
/ 10 октября 2009

Хорошо, вы подошли ближе, посмотрите на Печать в Qt . Существует класс QPrinter , который реализует часть того, что вы ищете. Это важно как QPaintDevice. Это означает, что любой виджет, который может отображать себя на экране, может быть напечатан. Это также означает, что вам не нужно отображать растровое изображение для печати, вы можете использовать виджеты Qt или функции рисования для печати

Обратите внимание на номер версии документации Qt, последний выпуск Qt - 4.5, 4.6 - в бета-версии.

0 голосов
/ 10 октября 2009

Возможно, вы захотите изучить wx python для печати . Изучение фреймворка может быть немного сложным для вас! Я имел успех с этим в прошлом, как на Windows, так и на Linux.

Я также использовал reportlab для создания PDF-файлов, которые довольно легко распечатать, используя минимум взаимодействия с ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...