Class EmfDevice

EmfDevice class

Represents image device that helps to save pdf document pages into emf.

public sealed class EmfDevice : ImageDevice

Constructors

NameDescription
EmfDevice()Initializes a new instance of the EmfDevice class with default resolution of raster image written to emf.
EmfDevice(PageSize)Initializes a new instance of the EmfDevice class with provided page size, and default resolution for the raster image written to emf (=150)
EmfDevice(Resolution)Initializes a new instance of the EmfDevice class. Resolution for the raster image written to emf, see Resolution class.
EmfDevice(int, int)Initializes a new instance of the EmfDevice class with provided image dimensions, and default resolution for the raster image written to emf (=150)
EmfDevice(PageSize, Resolution)Initializes a new instance of the JpegDevice class with provided page size, and resolution for the raster image written to emf.
EmfDevice(int, int, Resolution)Initializes a new instance of the JpegDevice class with provided image dimensions, and resolution for the raster image written to emf.

Properties

NameDescription
CoordinateType { get; set; }Gets or sets the page coordinate type (Media/Crop boxes). CropBox value is used by default.
FormPresentationMode { get; set; }Gets or sets form presentation mode.
Height { get; }Gets image output height.
RenderingOptions { get; set; }Gets or sets rendering options.
Resolution { get; }Gets image resolution.
Width { get; }Gets image output width.

Methods

NameDescription
override Process(Page, Stream)Converts the page into emf and saves it in the output stream.
Process(Page, string)Perfoms some operation on the given page and saves results into the file.

Examples

The following example shows how to convert PDF file to EMF Images.

[C#]
	// The path to your PDF Directory
	string dataDir = @"YOUR_DATA_DIRECTORY";

	// The file name of the PDF
	string pdfFile = @"YOUR_PDF_FILE";

	// Initialize instance of Document class
	using (Document pdfDocument = new Document(Path.Combine(dataDir, pdfFile)))
	{
		// Create Resolution object 	
		Resolution resolution = new Resolution(300);

		// Initialize EmfDevice 	
		EmfDevice emfDevice = new EmfDevice(resolution);
		for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
		{
			using (FileStream emfStream =
			new FileStream($"{dataDir}image{pageCount}_out.emf",
			FileMode.Create))
			{
				// Convert a particular page and save the image to stream
				emfDevice.Process(pdfDocument.Pages[pageCount], emfStream);

				// Close stream
				emfStream.Close();
			}
		}
	}
[VB.NET]

    ' The path to your PDF Directory
    Dim dataDir As String = "YOUR_DATA_DIRECTORY"
	
    ' The file name of the PDF
    Dim pdfFile As String = "YOUR_PDF_FILE"
 
    ' Initialize instance of Document class 
	Using pdfDocument As Document = New Document(Path.Combine(dataDir, pdfFile))
		
		' Create Resolution object  
		Dim resolution As Resolution = New Resolution(300)
	
		' Initialize EmfDevice   
		Dim emfDevice As EmfDevice = New EmfDevice(resolution)
		For pageCount As Integer = 1 To pdfDocument.Pages.Count
			Using emfStream As FileStream = New FileStream($"{dataDir}image{pageCount}_out.emf", FileMode.Create)
			
				' Convert a particular page and save the image to stream
				emfDevice.Process(pdfDocument.Pages(pageCount), emfStream)

				' Close stream
				emfStream.Close()
			End Using
		Next
	End Using

See Also