[SerializableAttribute()]
[DataContractAttribute()]
public class DocxDocumentOptions : DocumentOptions
The DOCX format is part of Microsoft Open XML specification and first introduced with Microsoft Office 2007.
The options set in the DocxDocumentOptions class will be used when the user saves a document using the DocumentFormat.Docx format.
To change the options used with the DOCX format, perform the following steps:
The DocxDocumentOptions class contains the following properties:
Property | Description |
---|---|
DocxDocumentOptions.TextMode | Controls how and when to frames the text blocks in the resulting DOCX file. |
This format requires .NET framework 3.0 or later and Microsoft Open XML Format SDK 2.*. For more information, refer to Files to be Included with Your Application.
Note that this format does not support calling DocumentWriter.InsertPage.
This example will create a new Microsoft Word Document (DOCX) file using some of the supported options.
using Leadtools.Document.Writer;
using Leadtools;
using Leadtools.Codecs;
public void DocxDocumentOptionsExample()
{
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");
var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.docx");
// 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 DOCX options to add frames to the file
var docxOptions = docWriter.GetOptions(DocumentFormat.Docx) as DocxDocumentOptions;
docxOptions.PageRestriction = DocumentPageRestriction.Relaxed;
docxOptions.TextMode = DocumentTextMode.Framed;
docWriter.SetOptions(DocumentFormat.Docx, docxOptions);
// Create a new DOCX document
Debug.WriteLine("Creating new DOCX document: {0}", outputFileName);
docWriter.BeginDocument(outputFileName, DocumentFormat.Docx);
// 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 DOCX file on disk
docWriter.EndDocument();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";
}