Ищите способы включить печать из моего приложения C ++ / MFC - PullRequest
1 голос
/ 21 марта 2011

С незапамятных времен я старался избегать печати из своих приложений для Windows из-за отсутствия собственной поддержки. Когда это было абсолютно необходимо, я прибегал к динамическому созданию простого макета HTML, а затем открывал его в веб-браузере с коротким Java-скриптом, чтобы открыть диалоговое окно печати для пользователя. Теперь мне нужно найти что-то более существенное.

Позвольте мне объяснить. У меня есть проект, который имеет дело с медицинскими картами, и он должен иметь возможность печатать на этих картах (в определенных местах), а также печатать на странице формата Letter / A4 в целом. Он также должен обеспечивать предварительный просмотр того, что печатается в среде постраничного просмотра.

В свете этого мне было интересно, что доступно из среды MFC / C ++ (не C #) в отношении печати?

PS. Я думал о том, чтобы заглянуть в формат RTF, но это кажется довольно сложной задачей, поэтому мне также было интересно, есть ли какие-нибудь библиотеки / уже написанный код, который позволяет составлять / просматривать / печатать RTF? Если нет, то что еще может обеспечить поддержку печати, как я объяснил выше?

Ответы [ 4 ]

2 голосов
/ 21 марта 2011

"отсутствие нативной поддержки"?Это покрыто Petzold с незапамятных времен, и это интегрировано прямо в GDI.По сравнению с UNIX, это полный ветер.А MFC делает это еще проще.

В любом случае, здесь , как вы делаете предварительный просмотр с помощью MFC, и здесь , как вы впоследствии печатаете.Много ссылок оттуда, и все это просто.Принтеры - это просто еще один контекст устройства, на котором вы можете рисовать.

1 голос
/ 21 марта 2011

Мне всегда было очень удобно генерировать PDF-файлы из моего приложения MFC / C ++. Существует множество библиотек, которые позволяют легко создавать PDF-файлы, выполнять функции предварительного просмотра и т. Д. (Также с открытым исходным кодом). Я использую это (также обрабатывает RTF):

Библиотека PDF

0 голосов
/ 02 февраля 2016

Пожалуйста, попробуйте www.oxetta.com , это бесплатное решение для построения отчетов, которое легко интегрируется в приложение C / C ++.

0 голосов
/ 21 марта 2011

Нет такой поддержки, как вы вызываете метод фреймворка с некоторыми параметрами, и фреймворк печатает документ или содержимое окна для вас.Вам нужно вручную нарисовать все в контексте устройства печати.Как уже говорилось, вам может быть удобнее использовать генератор PDF, но, конечно, это зависит от требований вашего приложения.

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