Class TxtLoadOptions
Namespace: Aspose.Words.Loading
Assembly: Aspose.Words.dll (25.12.0)
Allows to specify additional options when loading Aspose.Words.LoadFormat.Text document into a Aspose.Words.Document object.
To learn more, visit the Specify Load Options documentation article.
public class TxtLoadOptions : LoadOptionsInheritance
object ← LoadOptions ← TxtLoadOptions
Inherited Members
LoadOptions.Equals(object) , LoadOptions.LoadFormat , LoadOptions.Password , LoadOptions.BaseUri , LoadOptions.Encoding , LoadOptions.ResourceLoadingCallback , LoadOptions.WarningCallback , LoadOptions.ProgressCallback , LoadOptions.PreserveIncludePictureField , LoadOptions.ConvertShapeToOfficeMath , LoadOptions.FontSettings , LoadOptions.TempFolder , LoadOptions.ConvertMetafilesToPng , LoadOptions.MswVersion , LoadOptions.UpdateDirtyFields , LoadOptions.IgnoreOleData , LoadOptions.UseSystemLcid , LoadOptions.LanguagePreferences , LoadOptions.RecoveryMode , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Shows how to read and display hyperlinks.
const string inputText = "Some links in TXT:\n" +
"https://www.aspose.com/\n" +
"https://docs.aspose.com/words/net/\n";
using (Stream stream = new MemoryStream())
{
byte[] buf = Encoding.ASCII.GetBytes(inputText);
stream.Write(buf, 0, buf.Length);
// Load document with hyperlinks.
Document doc = new Document(stream, new TxtLoadOptions() { DetectHyperlinks = true });
// Print hyperlinks text.
foreach (Field field in doc.Range.Fields)
Console.WriteLine(field.Result);
Assert.That("https://www.aspose.com/", Is.EqualTo(doc.Range.Fields[0].Result.Trim()));
Assert.That("https://docs.aspose.com/words/net/", Is.EqualTo(doc.Range.Fields[1].Result.Trim()));
}Constructors
TxtLoadOptions()
Initializes a new instance of this class with default values.
public TxtLoadOptions()Examples
Shows how to read and display hyperlinks.
const string inputText = "Some links in TXT:\n" +
"https://www.aspose.com/\n" +
"https://docs.aspose.com/words/net/\n";
using (Stream stream = new MemoryStream())
{
byte[] buf = Encoding.ASCII.GetBytes(inputText);
stream.Write(buf, 0, buf.Length);
// Load document with hyperlinks.
Document doc = new Document(stream, new TxtLoadOptions() { DetectHyperlinks = true });
// Print hyperlinks text.
foreach (Field field in doc.Range.Fields)
Console.WriteLine(field.Result);
Assert.That("https://www.aspose.com/", Is.EqualTo(doc.Range.Fields[0].Result.Trim()));
Assert.That("https://docs.aspose.com/words/net/", Is.EqualTo(doc.Range.Fields[1].Result.Trim()));
}Properties
AutoNumberingDetection
Gets or sets a boolean value indicating either automatic numbering detection
will be performed while loading a document.
The default value is true.
public bool AutoNumberingDetection { get; set; }Property Value
Examples
Shows how to disable automatic numbering detection.
TxtLoadOptions options = new TxtLoadOptions { AutoNumberingDetection = false };
Document doc = new Document(MyDir + "Number detection.txt", options);DetectHyperlinks
Specifies either to detect hyperlinks in text.
The default value is false.
public bool DetectHyperlinks { get; set; }Property Value
Examples
Shows how to read and display hyperlinks.
const string inputText = "Some links in TXT:\n" +
"https://www.aspose.com/\n" +
"https://docs.aspose.com/words/net/\n";
using (Stream stream = new MemoryStream())
{
byte[] buf = Encoding.ASCII.GetBytes(inputText);
stream.Write(buf, 0, buf.Length);
// Load document with hyperlinks.
Document doc = new Document(stream, new TxtLoadOptions() { DetectHyperlinks = true });
// Print hyperlinks text.
foreach (Field field in doc.Range.Fields)
Console.WriteLine(field.Result);
Assert.That("https://www.aspose.com/", Is.EqualTo(doc.Range.Fields[0].Result.Trim()));
Assert.That("https://docs.aspose.com/words/net/", Is.EqualTo(doc.Range.Fields[1].Result.Trim()));
}DetectNumberingWithWhitespaces
Allows to specify how numbered list items are recognized when document is imported from plain text format.
The default value is true.
public bool DetectNumberingWithWhitespaces { get; set; }Property Value
Examples
Shows how to detect lists when loading plaintext documents.
// Create a plaintext document in a string with four separate parts that we may interpret as lists,
// with different delimiters. Upon loading the plaintext document into a "Document" object,
// Aspose.Words will always detect the first three lists and will add a "List" object
// for each to the document's "Lists" property.
const string textDoc = "Full stop delimiters:\n" +
"1. First list item 1\n" +
"2. First list item 2\n" +
"3. First list item 3\n\n" +
"Right bracket delimiters:\n" +
"1) Second list item 1\n" +
"2) Second list item 2\n" +
"3) Second list item 3\n\n" +
"Bullet delimiters:\n" +
"• Third list item 1\n" +
"• Third list item 2\n" +
"• Third list item 3\n\n" +
"Whitespace delimiters:\n" +
"1 Fourth list item 1\n" +
"2 Fourth list item 2\n" +
"3 Fourth list item 3";
// Create a "TxtLoadOptions" object, which we can pass to a document's constructor
// to modify how we load a plaintext document.
TxtLoadOptions loadOptions = new TxtLoadOptions();
// Set the "DetectNumberingWithWhitespaces" property to "true" to detect numbered items
// with whitespace delimiters, such as the fourth list in our document, as lists.
// This may also falsely detect paragraphs that begin with numbers as lists.
// Set the "DetectNumberingWithWhitespaces" property to "false"
// to not create lists from numbered items with whitespace delimiters.
loadOptions.DetectNumberingWithWhitespaces = detectNumberingWithWhitespaces;
Document doc = new Document(new MemoryStream(Encoding.UTF8.GetBytes(textDoc)), loadOptions);
if (detectNumberingWithWhitespaces)
{
Assert.That(doc.Lists.Count, Is.EqualTo(4));
Assert.That(doc.FirstSection.Body.Paragraphs.Any(p => p.GetText().Contains("Fourth list") && ((Paragraph)p).IsListItem), Is.True);
}
else
{
Assert.That(doc.Lists.Count, Is.EqualTo(3));
Assert.That(doc.FirstSection.Body.Paragraphs.Any(p => p.GetText().Contains("Fourth list") && ((Paragraph)p).IsListItem), Is.False);
}Remarks
If this option is set to false, lists recognition algorithm detects list paragraphs, when list numbers ends with
either dot, right bracket or bullet symbols (such as "•", "*", "-" or "o").
If this option is set to true, whitespaces are also used as list number delimiters:
list recognition algorithm for Arabic style numbering (1., 1.1.2.) uses both whitespaces and dot (".") symbols.
DocumentDirection
Gets or sets a document direction. The default value is Aspose.Words.Loading.DocumentDirection.LeftToRight.
public DocumentDirection DocumentDirection { get; set; }Property Value
Examples
Shows how to detect plaintext document text direction.
// Create a "TxtLoadOptions" object, which we can pass to a document's constructor
// to modify how we load a plaintext document.
TxtLoadOptions loadOptions = new TxtLoadOptions();
// Set the "DocumentDirection" property to "DocumentDirection.Auto" automatically detects
// the direction of every paragraph of text that Aspose.Words loads from plaintext.
// Each paragraph's "Bidi" property will store its direction.
loadOptions.DocumentDirection = DocumentDirection.Auto;
// Detect Hebrew text as right-to-left.
Document doc = new Document(MyDir + "Hebrew text.txt", loadOptions);
Assert.That(doc.FirstSection.Body.FirstParagraph.ParagraphFormat.Bidi, Is.True);
// Detect English text as right-to-left.
doc = new Document(MyDir + "English text.txt", loadOptions);
Assert.That(doc.FirstSection.Body.FirstParagraph.ParagraphFormat.Bidi, Is.False);LeadingSpacesOptions
Gets or sets preferred option of a leading space handling. Default value is Aspose.Words.Loading.TxtLeadingSpacesOptions.ConvertToIndent.
public TxtLeadingSpacesOptions LeadingSpacesOptions { get; set; }Property Value
Examples
Shows how to trim whitespace when loading plaintext documents.
string textDoc = " Line 1 \n" +
" Line 2 \n" +
" Line 3 ";
// Create a "TxtLoadOptions" object, which we can pass to a document's constructor
// to modify how we load a plaintext document.
TxtLoadOptions loadOptions = new TxtLoadOptions();
// Set the "LeadingSpacesOptions" property to "TxtLeadingSpacesOptions.Preserve"
// to preserve all whitespace characters at the start of every line.
// Set the "LeadingSpacesOptions" property to "TxtLeadingSpacesOptions.ConvertToIndent"
// to remove all whitespace characters from the start of every line,
// and then apply a left first line indent to the paragraph to simulate the effect of the whitespaces.
// Set the "LeadingSpacesOptions" property to "TxtLeadingSpacesOptions.Trim"
// to remove all whitespace characters from every line's start.
loadOptions.LeadingSpacesOptions = txtLeadingSpacesOptions;
// Set the "TrailingSpacesOptions" property to "TxtTrailingSpacesOptions.Preserve"
// to preserve all whitespace characters at the end of every line.
// Set the "TrailingSpacesOptions" property to "TxtTrailingSpacesOptions.Trim" to
// remove all whitespace characters from the end of every line.
loadOptions.TrailingSpacesOptions = txtTrailingSpacesOptions;
Document doc = new Document(new MemoryStream(Encoding.UTF8.GetBytes(textDoc)), loadOptions);
ParagraphCollection paragraphs = doc.FirstSection.Body.Paragraphs;
switch (txtLeadingSpacesOptions)
{
case TxtLeadingSpacesOptions.ConvertToIndent:
Assert.That(paragraphs[0].ParagraphFormat.FirstLineIndent, Is.EqualTo(37.8d));
Assert.That(paragraphs[1].ParagraphFormat.FirstLineIndent, Is.EqualTo(25.2d));
Assert.That(paragraphs[2].ParagraphFormat.FirstLineIndent, Is.EqualTo(6.3d));
Assert.That(paragraphs[0].GetText().StartsWith("Line 1"), Is.True);
Assert.That(paragraphs[1].GetText().StartsWith("Line 2"), Is.True);
Assert.That(paragraphs[2].GetText().StartsWith("Line 3"), Is.True);
break;
case TxtLeadingSpacesOptions.Preserve:
Assert.That(paragraphs.All(p => ((Paragraph)p).ParagraphFormat.FirstLineIndent == 0.0d), Is.True);
Assert.That(paragraphs[0].GetText().StartsWith(" Line 1"), Is.True);
Assert.That(paragraphs[1].GetText().StartsWith(" Line 2"), Is.True);
Assert.That(paragraphs[2].GetText().StartsWith(" Line 3"), Is.True);
break;
case TxtLeadingSpacesOptions.Trim:
Assert.That(paragraphs.All(p => ((Paragraph)p).ParagraphFormat.FirstLineIndent == 0.0d), Is.True);
Assert.That(paragraphs[0].GetText().StartsWith("Line 1"), Is.True);
Assert.That(paragraphs[1].GetText().StartsWith("Line 2"), Is.True);
Assert.That(paragraphs[2].GetText().StartsWith("Line 3"), Is.True);
break;
}
switch (txtTrailingSpacesOptions)
{
case TxtTrailingSpacesOptions.Preserve:
Assert.That(paragraphs[0].GetText().EndsWith("Line 1 \r"), Is.True);
Assert.That(paragraphs[1].GetText().EndsWith("Line 2 \r"), Is.True);
Assert.That(paragraphs[2].GetText().EndsWith("Line 3 \f"), Is.True);
break;
case TxtTrailingSpacesOptions.Trim:
Assert.That(paragraphs[0].GetText().EndsWith("Line 1\r"), Is.True);
Assert.That(paragraphs[1].GetText().EndsWith("Line 2\r"), Is.True);
Assert.That(paragraphs[2].GetText().EndsWith("Line 3\f"), Is.True);
break;
}TrailingSpacesOptions
Gets or sets preferred option of a trailing space handling. Default value is Aspose.Words.Loading.TxtTrailingSpacesOptions.Trim.
public TxtTrailingSpacesOptions TrailingSpacesOptions { get; set; }Property Value
Examples
Shows how to trim whitespace when loading plaintext documents.
string textDoc = " Line 1 \n" +
" Line 2 \n" +
" Line 3 ";
// Create a "TxtLoadOptions" object, which we can pass to a document's constructor
// to modify how we load a plaintext document.
TxtLoadOptions loadOptions = new TxtLoadOptions();
// Set the "LeadingSpacesOptions" property to "TxtLeadingSpacesOptions.Preserve"
// to preserve all whitespace characters at the start of every line.
// Set the "LeadingSpacesOptions" property to "TxtLeadingSpacesOptions.ConvertToIndent"
// to remove all whitespace characters from the start of every line,
// and then apply a left first line indent to the paragraph to simulate the effect of the whitespaces.
// Set the "LeadingSpacesOptions" property to "TxtLeadingSpacesOptions.Trim"
// to remove all whitespace characters from every line's start.
loadOptions.LeadingSpacesOptions = txtLeadingSpacesOptions;
// Set the "TrailingSpacesOptions" property to "TxtTrailingSpacesOptions.Preserve"
// to preserve all whitespace characters at the end of every line.
// Set the "TrailingSpacesOptions" property to "TxtTrailingSpacesOptions.Trim" to
// remove all whitespace characters from the end of every line.
loadOptions.TrailingSpacesOptions = txtTrailingSpacesOptions;
Document doc = new Document(new MemoryStream(Encoding.UTF8.GetBytes(textDoc)), loadOptions);
ParagraphCollection paragraphs = doc.FirstSection.Body.Paragraphs;
switch (txtLeadingSpacesOptions)
{
case TxtLeadingSpacesOptions.ConvertToIndent:
Assert.That(paragraphs[0].ParagraphFormat.FirstLineIndent, Is.EqualTo(37.8d));
Assert.That(paragraphs[1].ParagraphFormat.FirstLineIndent, Is.EqualTo(25.2d));
Assert.That(paragraphs[2].ParagraphFormat.FirstLineIndent, Is.EqualTo(6.3d));
Assert.That(paragraphs[0].GetText().StartsWith("Line 1"), Is.True);
Assert.That(paragraphs[1].GetText().StartsWith("Line 2"), Is.True);
Assert.That(paragraphs[2].GetText().StartsWith("Line 3"), Is.True);
break;
case TxtLeadingSpacesOptions.Preserve:
Assert.That(paragraphs.All(p => ((Paragraph)p).ParagraphFormat.FirstLineIndent == 0.0d), Is.True);
Assert.That(paragraphs[0].GetText().StartsWith(" Line 1"), Is.True);
Assert.That(paragraphs[1].GetText().StartsWith(" Line 2"), Is.True);
Assert.That(paragraphs[2].GetText().StartsWith(" Line 3"), Is.True);
break;
case TxtLeadingSpacesOptions.Trim:
Assert.That(paragraphs.All(p => ((Paragraph)p).ParagraphFormat.FirstLineIndent == 0.0d), Is.True);
Assert.That(paragraphs[0].GetText().StartsWith("Line 1"), Is.True);
Assert.That(paragraphs[1].GetText().StartsWith("Line 2"), Is.True);
Assert.That(paragraphs[2].GetText().StartsWith("Line 3"), Is.True);
break;
}
switch (txtTrailingSpacesOptions)
{
case TxtTrailingSpacesOptions.Preserve:
Assert.That(paragraphs[0].GetText().EndsWith("Line 1 \r"), Is.True);
Assert.That(paragraphs[1].GetText().EndsWith("Line 2 \r"), Is.True);
Assert.That(paragraphs[2].GetText().EndsWith("Line 3 \f"), Is.True);
break;
case TxtTrailingSpacesOptions.Trim:
Assert.That(paragraphs[0].GetText().EndsWith("Line 1\r"), Is.True);
Assert.That(paragraphs[1].GetText().EndsWith("Line 2\r"), Is.True);
Assert.That(paragraphs[2].GetText().EndsWith("Line 3\f"), Is.True);
break;
}