[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 objectvar codecs = new RasterCodecs();codecs.Options.RasterizeDocument.Load.Resolution = 300;// Get the number of pages in the input documentvar pageCount = codecs.GetTotalPages(inputFileName);// Create a new instance of the LEADTOOLS Document Writervar docWriter = new DocumentWriter();// Change the DOCX options to add frames to the filevar docxOptions = docWriter.GetOptions(DocumentFormat.Docx) as DocxDocumentOptions;docxOptions.PageRestriction = DocumentPageRestriction.Relaxed;docxOptions.TextMode = DocumentTextMode.Framed;docWriter.SetOptions(DocumentFormat.Docx, docxOptions);// Create a new DOCX documentDebug.WriteLine("Creating new DOCX document: {0}", outputFileName);docWriter.BeginDocument(outputFileName, DocumentFormat.Docx);// Loop through all the pagesfor (var pageNumber = 1; pageNumber <= pageCount; pageNumber++){// Get the page as SVGDebug.WriteLine("Loading page {0}", pageNumber);var page = new DocumentWriterSvgPage();page.SvgDocument = codecs.LoadSvg(inputFileName, pageNumber, null);// Add the pageDebug.WriteLine("Adding page {0}", pageNumber);docWriter.AddPage(page);page.SvgDocument.Dispose();}// Finally finish writing the DOCX file on diskdocWriter.EndDocument();codecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images";}