LEADTOOLS Forms (Leadtools.Forms.DocumentWriters assembly)
LEAD Technologies, Inc

XpsDocumentOptions Class

Example 





Members 
Provides extra options to use when saving a document using the Microsoft Open XML Paper Specification format (XPS). .NET support
Object Model
XpsDocumentOptions Class
Syntax
public class XpsDocumentOptions : DocumentOptions 
'Declaration
 
Public Class XpsDocumentOptions 
   Inherits DocumentOptions
'Usage
 
Dim instance As XpsDocumentOptions
public sealed class XpsDocumentOptions : DocumentOptions 
function Leadtools.Forms.DocumentWriters.XpsDocumentOptions()
public ref class XpsDocumentOptions : public DocumentOptions 
Remarks

The options set in the XpsDocumentOptions class will be used when the user saves a document using the DocumentFormat.Xps format.

To change the options used with the XPS format, perform the following steps:

  1. Use the DocumentWriter.GetOptions method of the DocumentWriter object being used, passing DocumentFormat.Xps to the format parameter. Note the resulting object from the base DocumentOptions class needs to be cast to XpsDocumentOptions.
  2. Use the various XpsDocumentOptions properties to change the options.
  3. Use DocumentWriter.SetOptions to set the new options in the engine.
  4. Now call the DocumentWriter.BeginDocument method (with DocumentFormat.Xps for the format parameter) to create a new document and add the pages.

Currently, the XpsDocumentOptions class contains no extra options.

This format requires .NET framework 3.0.

Example
 
' Windows API functions needed to load/delete an EMF
   <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()
      ' 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
      Dim docWriter As New DocumentWriter()

      Dim outputFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Test.xps")
      Dim emfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.emf")

      Dim xpsOptions As XpsDocumentOptions = DirectCast(docWriter.GetOptions(DocumentFormat.Xps), XpsDocumentOptions)

      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
      Dim emfHandle As IntPtr = GetEnhMetaFile(emfFileName)

      ' Add the page
      Dim page As DocumentPage = DocumentPage.Empty
      page.EmfHandle = emfHandle
      page.Image = Nothing

      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()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
// 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()
   {
      // Create a new instance of the LEADTOOLS Document Writer
      DocumentWriter docWriter = new DocumentWriter();

      string outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Test.xps");
      string emfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.emf");

      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();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

XpsDocumentOptions Members
Leadtools.Forms.DocumentWriters Namespace
DocumentWriter Class
Programming with LEADTOOLS Document Writers
Files to be Included with Your Application
Unlocking Special LEAD Features

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Forms.DocumentWriters requires a Document or Medical toolkit license and unlock key. For more information, refer to: Imaging Pro/Document/Medical Features