Provides extra options to use when saving a document using the Microsoft Open XML Paper Specification format (XPS).
Syntax
Visual Basic (Declaration) | |
---|
Public Class XpsDocumentOptions
Inherits DocumentOptions |
Example
This example will create a new Windows Enhanced Meta File (EMF) file using the various supported options.
Visual Basic | Copy Code |
---|
<DllImport("gdi32.dll")> _
Private Shared Function GetEnhMetaFile(ByVal lpszMetaFile As String) As IntPtr
End Function
<DllImport("gdi32.dll")> _
Private Shared Function DeleteEnhMetaFile(ByVal hemf As IntPtr) As Boolean
End Function
Private Sub XpsDocumentOptionsExample()
RasterSupport.Unlock(RasterSupportType.DocumentWriters, "Replace with your own key here")
Dim docWriter As New DocumentWriter()
Dim outputFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Test.xps"
Dim emfFileName As String = LeadtoolsExamples.Common.ImagesPath.Path + "Ocr1.emf"
Dim xpsOptions As XpsDocumentOptions = DirectCast(docWriter.GetOptions(DocumentFormat.Xps), XpsDocumentOptions)
docWriter.SetOptions(DocumentFormat.Xps, xpsOptions)
Console.WriteLine("Creating new XPS document: {0}", outputFileName)
docWriter.BeginDocument(outputFileName, DocumentFormat.Xps)
Dim emfHandle As IntPtr = GetEnhMetaFile(emfFileName)
Dim page As DocumentPage = DocumentPage.Empty
page.EmfHandle = emfHandle
page.Image = Nothing
Console.WriteLine("Adding EMF page from: {0}", emfFileName)
docWriter.AddPage(page)
DeleteEnhMetaFile(emfHandle)
docWriter.EndDocument()
End Sub
|
C# | Copy Code |
---|
// Windows API functions needed to load/delete an EMF [DllImport("gdi32.dll")] private static extern IntPtr GetEnhMetaFile(string lpszMetaFile); [DllImport("gdi32.dll")] private static extern bool DeleteEnhMetaFile(IntPtr hemf); private void XpsDocumentOptionsExample() { // Unlock the support needed for LEADTOOLS Document Writers (with PDF output) RasterSupport.Unlock(RasterSupportType.DocumentWriters, "Replace with your own key here"); // Create a new instance of the LEADTOOLS Document Writer DocumentWriter docWriter = new DocumentWriter(); string outputFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Test.xps"; string emfFileName = LeadtoolsExamples.Common.ImagesPath.Path + "Ocr1.emf"; // Change the XPS options to add page restrictions and empty pages XpsDocumentOptions xpsOptions = docWriter.GetOptions(DocumentFormat.Xps) as XpsDocumentOptions; // Use default resolution docWriter.SetOptions(DocumentFormat.Xps, xpsOptions); // Create a new XPS document Console.WriteLine("Creating new XPS document: {0}", outputFileName); docWriter.BeginDocument(outputFileName, DocumentFormat.Xps); // Use the Windows API to load the EMF IntPtr emfHandle = GetEnhMetaFile(emfFileName); // Add the page DocumentPage page = DocumentPage.Empty; page.EmfHandle = emfHandle; page.Image = null; Console.WriteLine("Adding EMF page from: {0}", emfFileName); docWriter.AddPage(page); // Use the Windows API to delete the EMF DeleteEnhMetaFile(emfHandle); // Finally finish writing the XPS file on disk docWriter.EndDocument(); } |
Remarks
Inheritance Hierarchy
Requirements
Target Platforms: Microsoft .NET Framework 3.0, Windows XP, Windows Server 2003 family, Windows Server 2008 family
See Also