[SerializableAttribute()]
[DataContractAttribute()]
public class TextDocumentOptions : DocumentOptions
The options set in the TextDocumentOptions class will be used when the user saves a document using the DocumentFormat.Text format.
To change the options used with the Text format, perform the following steps:
The TextDocumentOptions class contains the following properties:
Property | Description |
---|---|
DocumentType | The type of the Text document (ANSI, UTF8 or UNICODE). |
Formatted | To control whether the output file will be just a flow of text or try to maintain almost the same shape of original page (i.e. margins and lines between paragraphs using spaces). |
AddPageBreak | Add an optional marker between pages in the resulting text file. |
AddPageNumber | Print the page numbers in the resulting text file. |
Note that this format does not support calling DocumentWriter.InsertPage.
This example will create a new text file using the various supported options.
using Leadtools.Document.Writer;
using Leadtools;
using Leadtools.Codecs;
public void TextDocumentOptionsExample()
{
var inputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");
var outputFileName = Path.Combine(LEAD_VARS.ImagesDir, "Example.txt");
// 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 Text options
var textOptions = docWriter.GetOptions(DocumentFormat.Text) as TextDocumentOptions;
textOptions.DocumentType = TextDocumentType.Ansi;
textOptions.AddPageNumber = true;
textOptions.AddPageBreak = true;
textOptions.Formatted = true;
docWriter.SetOptions(DocumentFormat.Text, textOptions);
// Create a new Text document
Debug.WriteLine("Creating new Text document: {0}", outputFileName);
docWriter.BeginDocument(outputFileName, DocumentFormat.Text);
// 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 Text file on disk
docWriter.EndDocument();
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}