Генерация векторного буфера обмена EMF / WMF (Windows Metafile) из Qt 4.5 - PullRequest
1 голос
/ 06 января 2010

Мы перемещаем большую кодовую базу из GDI в QPainter. Одной вещью, которую мы легко использовали в Windows, был формат буфера обмена EMF, который позволял клиентам манипулировать вставленным выводом в других программах (например, Office) в векторном формате.

Нам легко создавать растровые изображения из Qt в EMF, но это на самом деле не возвращает нам возможность редактирования старого формата. Мы также можем создавать MIME-данные из Postscript, который в некоторых программах сохраняет векторный формат, но не позволяет редактировать его в Office, например.

Так как Trolltech / Nokia отказались от пути рендеринга GDI, есть ли какой-нибудь достойный способ для вывода векторного ЭДС из QPainter? Варианты включают сторонние библиотеки постобработки других форматов вывода (из которых мы не видели пригодных результатов), фальшивые драйверы принтера (которые представляют проблемы, специфичные для версии Windows). Он должен работать на WinXP -> 7.

Кто-нибудь еще решил это?

Ответы [ 3 ]

1 голос
/ 06 января 2010

Что ж, теперь я вижу, что это было задано и получено здесь до ответа . Принято, что это сделать нелегко. Если у кого-то есть новости получше, я буду рад их услышать.

0 голосов
/ 06 декабря 2012

Я только что наткнулся на это возможное решение: EmfEngine . Я не использовал его, так что YMMV.

0 голосов
/ 19 июня 2010

У меня есть PyQt QPaintEngine для рендеринга в EMF здесь (GPL): http://svn.gna.org/viewcvs/veusz/trunk/document/emf_export.py?view=markup

Также используется библиотека PyEMF. Было бы трудно преобразовать это в C ++, если это необходимо.

...