Provides extra options to use when saving a document using the Windows Enhanced Meta File (EMF) format.
[SerializableAttribute()]
[DataContractAttribute()]
public class EmfDocumentOptions : DocumentOptions
<DataContractAttribute()>
<SerializableAttribute()>
Public Class EmfDocumentOptions
Inherits DocumentOptions
public class EmfDocumentOptions extends DocumentOptions
[DataContractAttribute()]
[SerializableAttribute()]
public ref class EmfDocumentOptions : public DocumentOptions
The Windows Enhanced Meta File (EMF) format does not support multipage documents. Therefore, only the last page added with the DocumentWriter.AddPage will be used in the final document.
Note that this format does not support calling DocumentWriter.InsertPage.
The options set in the EmfDocumentOptions class will be used when the user saves a document using the DocumentFormat.Emf format.
To change the options used with the EMF format, perform the following steps:
Note that this format does not support calling DocumentWriter.InsertPage.
Currently, the EmfDocumentOptions class contains no extra options.
This example will create a new Windows Enhanced Meta File (EMF) file using the various supported options.
using Leadtools.Document.Writer;
using Leadtools;
using Leadtools.Codecs;
public void EmfDocumentOptionsExample()
{
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");
var outputFileNameTemplate = Path.Combine(LEAD_VARS.ImagesDir, "Example{0}.emf");
// Setup a new RasterCodecs object
var codecs = new RasterCodecs();
codecs.Options.RasterizeDocument.Load.Resolution = 300;
// Get the number of pages in the input document
var pageCount = codecs.GetTotalPages(inputFileName);
// Create a new instance of the LEADTOOLS Document Writer
var docWriter = new DocumentWriter();
// Change the EMF options
var emfOptions = docWriter.GetOptions(DocumentFormat.Emf) as EmfDocumentOptions;
// EMF currently does not have any extra options
// In the future, you can modify the options here if needed
docWriter.SetOptions(DocumentFormat.Emf, emfOptions);
// EMF does not support multiple pages, so we will create the document inside the loop
// Loop through all the pages
for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++)
{
var outputFileName = string.Format(outputFileNameTemplate, pageNumber);
// Create a new EMF document
Console.WriteLine("Creating new EMF document : {0}", outputFileName);
docWriter.BeginDocument(outputFileName, DocumentFormat.Emf);
// Get the page as SVG
Console.WriteLine("Loading page {0}", pageNumber);
var page = new DocumentWriterSvgPage();
page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);
// Add the page
Console.WriteLine("Adding page {0}", pageNumber);
docWriter.AddPage(page);
page.SvgDocument.Dispose();
// Finish writing theis EMF file on disk
docWriter.EndDocument();
}
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Imports Leadtools.Document.Writer
Imports Leadtools
Imports Leadtools.Codecs
Public Sub EmfDocumentOptionsExample()
Dim inputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf")
Dim outputFileNameTemplate As String = Path.Combine(LEAD_VARS.ImagesDir, "Example{0}.emf")
' Setup a new RasterCodecs object
Dim codecs As New RasterCodecs()
codecs.Options.RasterizeDocument.Load.Resolution = 300
' Get the number of pages in the input document
Dim pageCount As Integer = codecs.GetTotalPages(inputFileName)
' Create a new instance of the LEADTOOLS Document Writer
Dim docWriter As New DocumentWriter()
' Change the EMF options
Dim emfOptions As EmfDocumentOptions = DirectCast(docWriter.GetOptions(DocumentFormat.Emf), EmfDocumentOptions)
' EMF currently does not have any extra options
' In the future, you can modify the options here if needed
docWriter.SetOptions(DocumentFormat.Emf, emfOptions)
' EMF does not support multiple pages, so we will create the document inside the loop
' Loop through all the pages
For pageNumber As Integer = 1 To pageCount
Dim outputFileName As String = String.Format(outputFileNameTemplate, pageNumber)
' Create a new EMF document
Console.WriteLine("Creating new EMF document : {0}", outputFileName)
docWriter.BeginDocument(outputFileName, DocumentFormat.Emf)
' Get the page as SVG
Console.WriteLine("Loading page {0}", pageNumber)
Dim page As New DocumentWriterSvgPage()
page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, Nothing)
' Add the page
Console.WriteLine("Adding page {0}", pageNumber)
docWriter.AddPage(page)
page.SvgDocument.Dispose()
' Finish writing theis EMF file on disk
docWriter.EndDocument()
Next
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
Leadtools.Document.Writer Namespace
Programming with LEADTOOLS Document Writers
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document