Создание страницы PDF из MFC MDI CView - PullRequest
3 голосов
/ 29 ноября 2009

Мое приложение c ++ MFC MDI отображает технические чертежи в своих представлениях. Каков хороший способ вывести производный объект CView в файл PDF? Какие библиотеки вы могли бы предложить (не обязательно бесплатно)? Я посмотрел несколько библиотек, таких как Каир и libHaru. Можно нарисовать все графические компоненты, но я думал, что CView уже выполнил все рисунки. Можно ли его сбросить в PDF через PS или что-то в этом роде? Спасибо

1 Ответ

1 голос
/ 30 ноября 2009

Если вы загрузите CutePDF , вы сможете распечатать его прямо в PDF. Это как обычная печать на принтере. Я совершенно уверен, что если вы получите Acrobat Pro от Adobe, вы можете сделать то же самое.

Edit:

Используя контекст устройства, вы можете сделать все свои рисунки таким образом, чтобы «мог» использоваться драйвером для хранения векторной графики.

Если вы обрабатываете команду WM_PRINT (ON_MESSAGE в вашей карте сообщений), то вам предоставляется HDC. Вы можете извлечь CDC в стиле MFC из HDC, выполнив следующие действия:

CDC* pDC = CDC::FromHandle( hDC );

Теперь вы можете выдавать стандартные команды рисования постоянного тока на принтер следующим образом:

int width = pDC->GetDeviceCaps( HORZRES );
int height = pDC->GetDeviceCaps( VERTRES );
pDC->MoveTo( 0, 0 );
pDC->LineTo( width, height );

Это нарисует от верхнего левого угла до нижнего правого угла. Если вы масштабируете всю свою векторную графику соответствующим образом, то, надеюсь, (я, к сожалению, не уверен в этом, однако) появятся в PDF как векторные команды, а не как растровые команды.

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