Генерировать содержимое буфера обмена векторных EMF / WMF (Windows Metafile) из Qt 4.5

StackOverflow https://stackoverflow.com/questions/2013445

Вопрос

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

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

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

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

Это было полезно?

Решение

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top