Я портирую код C++ на VB.NET, который создает задание печати, состоящее из нескольких страниц. На каждой странице есть шаблон графических объектов (текст, линии, кривые и т. д.), Который остается неизменным на каждой странице, а поверх него накладываются разные данные для каждой страницы.
Шаблон создается в начале задания на печать как метафайл в памяти с помощью CreateEnhMetaFile, а в начале каждой страницы этот метафайл переносится в контекст устройства печати с помощью PlayEnhMetaFile.
Как я могу сделать это в .NET? Из того, что я до сих пор читал об API, кажется, что я могу импортировать Metafile только из файла или потока, а не создавать его с нуля. Это верно?





Пожалуйста, взгляните на следующие страницы ...
1) http://msdn.microsoft.com/en-us/library/zbk7dbtb.aspx
2) http://msdn.microsoft.com/en-us/library/ms536391.aspx
3) http://msdn.microsoft.com/en-us/library/1h5aa6y9.aspx
Вы можете создать объект MetaFile, используя следующий конструктор
public Metafile(Stream stream)
, чтобы принять MemoryStream в качестве конечного пункта назначения команд метафайла.
Например
var mf = new MetaFile(new MemoryStream());
Надеюсь это поможет.