←Select platform

XpsDocumentOptions Class

Summary
Provides extra options to use when saving a document using the Microsoft Open XML Paper Specification format (XPS).
Syntax
C#
C++/CLI
Java
Python
[SerializableAttribute()] 
[DataContractAttribute()] 
public class XpsDocumentOptions : DocumentOptions 
public class XpsDocumentOptions extends DocumentOptions 
[DataContractAttribute()] 
[SerializableAttribute()] 
public ref class XpsDocumentOptions : public DocumentOptions  
class XpsDocumentOptions(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 or later.

Example

This example will create a new Windows Enhanced Meta File (EMF) file using the various supported options.

C#
Java
using Leadtools.Document.Writer; 
using Leadtools; 
using Leadtools.Codecs; 
 
 
public void XpsDocumentOptionsExample() 
{ 
   var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"); 
   var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.xps"); 
 
   // 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 XPS options 
   var xpsOptions = docWriter.GetOptions(DocumentFormat.Xps) as XpsDocumentOptions; 
   // XPS currently does not have any extra options 
   // In the future, you can modify the options here if needed 
   docWriter.SetOptions(DocumentFormat.Xps, xpsOptions); 
 
   // Create a new XPS document 
   Debug.WriteLine("Creating new XPS document: {0}", outputFileName); 
   docWriter.BeginDocument(outputFileName, DocumentFormat.Xps); 
 
   // Loop through all the pages 
   for (var pageNumber = 1; pageNumber <= pageCount; pageNumber++) 
   { 
      // Get the page as SVG 
      Debug.WriteLine("Loading page {0}", pageNumber); 
      var page = new DocumentWriterSvgPage(); 
      page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null); 
 
      // Add the page 
      Debug.WriteLine("Adding page {0}", pageNumber); 
      docWriter.AddPage(page); 
 
      page.SvgDocument.Dispose(); 
   } 
 
   // Finally finish writing the XPS file on disk 
   docWriter.EndDocument(); 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import java.io.File; 
import java.io.IOException; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.*; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.document.writer.*; 
 
 
public void xpsDocumentOptionsExample() { 
 
   Platform.loadLibrary(LTLibrary.DOCUMENT_WRITER); 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
 
   String inputFileName = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf"); 
   String outputFileName = combine(LEAD_VARS_IMAGES_DIR, "Example{0}.xps"); 
 
   // Setup a new RasterCodecs object 
   RasterCodecs codecs = new RasterCodecs(); 
   codecs.getOptions().getRasterizeDocument().getLoad().setResolution(300); 
 
   // Get the number of pages in the input document 
   int pageCount = codecs.getTotalPages(inputFileName); 
 
   assertTrue("The page count isn't equal to the total pages in the input file", 
         pageCount == codecs.getTotalPages(inputFileName)); 
   System.out.println("The page count is equal to the total pages in the input file."); 
 
   // Create a new instance of the LEADTOOLS Document Writer 
   DocumentWriter docWriter = new DocumentWriter(); 
 
   // Change the XPS options 
   XpsDocumentOptions xpsOptions = (XpsDocumentOptions) docWriter.getOptions(DocumentFormat.XPS); 
   // XPS currently does not have any extra options 
   // In the future, you can modify the options here if needed 
   docWriter.setOptions(DocumentFormat.XPS, xpsOptions); 
 
   // Create a new XPS document 
   System.out.printf("Creating new XPS document: %s%n", outputFileName); 
   docWriter.beginDocument(outputFileName, DocumentFormat.XPS); 
 
   // Loop through all the pages 
   for (int pageNumber = 1; pageNumber <= pageCount; pageNumber++) { 
      // Get the page as SVG 
      System.out.printf("Loading page %s%n", pageNumber); 
      DocumentWriterSvgPage page = new DocumentWriterSvgPage(); 
      page.setSvgDocument(codecs.loadSvg(inputFileName, pageNumber, null)); 
 
      // Add the page 
      System.out.printf("Adding page %s%n", pageNumber); 
      docWriter.addPage(page); 
 
      page.getSvgDocument().dispose(); 
   } 
 
   assertTrue("File unsuccessfully saved", (new File(outputFileName)).exists()); 
   System.out.println("Output file created successfully"); 
 
   // Finally finish writing the XPS file on disk 
   docWriter.endDocument(); 
   codecs.dispose(); 
 
} 
Requirements

Target Platforms

Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document.Writer Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.