←Select platform

SvgDocumentOptions Class

Summary
Provides extra options to use when saving a document using the Scalable Vector Graphics (SVG) format.
Syntax
C#
Objective-C
C++/CLI
Java
Python
[SerializableAttribute()] 
[DataContractAttribute()] 
public class SvgDocumentOptions : DocumentOptions 
@interface LTSvgDocumentOptions : LTDocumentOptions<NSCopying, NSCoding> 
public class SvgDocumentOptions extends DocumentOptions 
[DataContractAttribute()] 
[SerializableAttribute()] 
public ref class SvgDocumentOptions : public DocumentOptions  
class SvgDocumentOptions(DocumentOptions): 
Remarks

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

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

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

Note that this format does not support calling DocumentWriter.InsertPage.

Currently, the SvgDocumentOptions class contains no extra options.

Example

This example will create a new Scalable Vector Graphics (SVG) file using the various supported options.

C#
Java
using Leadtools.Document.Writer; 
using Leadtools; 
using Leadtools.Codecs; 
 
 
public void SvgDocumentOptionsExample() 
{ 
   var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"); 
   var outputFileNameTemplate = Path.Combine(LEAD_VARS.ImagesDir, "Example{0}.svg"); 
 
   // 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 SVG options 
   var svgOptions = docWriter.GetOptions(DocumentFormat.Svg) as SvgDocumentOptions; 
   // SVG currently does not have any extra options 
   // In the future, you can modify the options here if needed 
   docWriter.SetOptions(DocumentFormat.Svg, svgOptions); 
 
   // SVG 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 SVG document 
      Debug.WriteLine("Creating new SVG document : {0}", outputFileName); 
      docWriter.BeginDocument(outputFileName, DocumentFormat.Svg); 
 
      // 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(); 
 
      // Finish writing theis SVG file on disk 
      docWriter.EndDocument(); 
   } 
 
   codecs.Dispose(); 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
} 
 
import static org.junit.Assert.assertTrue; 
 
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 leadtools.*; 
import leadtools.codecs.*; 
import leadtools.document.writer.*; 
 
 
public void svgDocumentOptionsExample() { 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
   Platform.loadLibrary(LTLibrary.DOCUMENT_WRITER); 
   String inputFileName = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf"); 
   String outputFileNameTemplate = combine(LEAD_VARS_IMAGES_DIR, "Example.svg"); 
 
   // 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); 
 
   // Create a new instance of the LEADTOOLS Document Writer 
   DocumentWriter docWriter = new DocumentWriter(); 
 
   // Change the SVG options 
   SvgDocumentOptions svgOptions = (SvgDocumentOptions) docWriter.getOptions(DocumentFormat.SVG); 
   // SVG currently does not have any extra options 
   // In the future, you can modify the options here if needed 
   docWriter.setOptions(DocumentFormat.SVG, svgOptions); 
 
   // SVG does not support multiple pages, so we will create the document inside 
   // the loop 
   int i=0; 
 
   // Loop through all the pages 
   for (int pageNumber = 1; pageNumber <= pageCount; pageNumber++) { 
      String outputFileName = String.format(outputFileNameTemplate, pageNumber); 
      i++; 
 
      // Create a new SVG document 
      System.out.printf("Creating new SVG document : %s%n", outputFileName); 
      docWriter.beginDocument(outputFileName, DocumentFormat.SVG); 
 
      // 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.setSvgDocument(null); 
 
      // Finish writing theis SVG file on disk 
      docWriter.endDocument(); 
   } 
 
   assertTrue("Not all pages are accounted for", i==pageCount); 
   System.out.println("All pages were loaded and added"); 
   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.