Страница 2 из 2

Re: Печать документа в Windows

Добавлено: 25 фев 2009, 18:18
Naeel Maqsudov
Любые векторные графические редакторы (напр, Visio, CorelDraw и т.д.) поддерживают экспорт в формат Windows Mwtafile (WMF).
Также формат WMF некоторым образом связан с WinAPI-функциями группы GDI.
Так как это фактически сценарий отрисовки векторных объектов (последовательного вызова GDI-функций).

Re: Печать документа в Windows

Добавлено: 26 фев 2009, 12:42
WinMain
Если нужно нарисовать бланк платёжки, то лучше это делать в Excel или в Word. Другое дело, что эти редакторы не сохраняют изображение в метафайл, поэтому приходится копировать изображение в буфер обмена и сохранять его через другое приложение...
Можешь сделать так: создай консольный проект Win32 с названием SaveEmf. Помести в него следующий код и скомпилируй проект...

Код: Выделить всё

#include "stdafx.h"
#include <windows.h>

int _tmain(int argc, _TCHAR* argv[])
{
	if (argc < 2)
	{
		_tprintf(_T("%s\n"), 
			_T("The file name was not pointed in command line."));
		return -1;
	}
	//
	if (::OpenClipboard(NULL) != 0)
	{
		HENHMETAFILE hEmf = (HENHMETAFILE)::GetClipboardData(CF_ENHMETAFILE);
		if (hEmf != NULL)
		{
			::CopyEnhMetaFile(hEmf, argv[1]);
		}
		::CloseClipboard();
	}
	return 0;
}
Затем открой (или создай) в Excel файл с бланком документа. Выдели нужную область ячеек и скопируй в буфер обмена. Потом запусти в командной строке только что сделанную утилиту, к примеру так: SaveEmf.exe BlankDoc.emf
В результате чего появится файл BlankDoc.emf, который и является тем самым метафайлом.

Re: Печать документа в Windows

Добавлено: 26 фев 2009, 22:54
Decoder
Спасибо, WinMain! Очень помог.