TextSegment

TextSegment class

表示 Pdf 文本的段。

public sealed class TextSegment

构造函数

姓名描述
TextSegment()创建 TextSegment 对象。
TextSegment(string)创建 TextSegment 对象。

特性

姓名描述
BaselinePosition { get; set; }获取文本的文本位置,用TextSegmentobject. Position 结构的 YIndent 表示文本段的基线坐标。
Characters { get; }获取代表文本段中字符信息的 CharInfo 对象集合。
EndCharIndex { get; }获取显示文本运算符(Tj,TJ)段中当前段的结束字符索引。
Hyperlink { get; set; }获取或设置段超链接(用于pdf生成器)。
Position { get; set; }获取文本的文本位置,用TextSegment对象.
Rectangle { get; }获取 TextSegment 的矩形
StartCharIndex { get; }获取显示文本运算符(Tj,TJ)段中当前段的起始字符索引。
Text { get; set; }获取或设置String文本对象TextSegment对象代表.
TextEditOptions { get; set; }获取或设置文本编辑选项。当请求的符号不能用字体写入时,选项定义特殊行为。
TextState { get; set; }获取或设置文本的文本状态TextSegment对象代表.

方法

姓名描述
static MyHtmlEncode(string)将字符串编码为 html.

评论

简而言之,TextSegment对象是TextFragment object. 详细说明: pdf 文档中的文本Pdf由两个基本对象表示:TextFragmentTextSegment 它们之间的差异主要取决于上下文。 让我们考虑以下场景。用户搜索文本“hello world”以对其进行操作,更改其属性,查看等。 物理上pdf文本的表示非常复杂。 文本“hello world”可能由几个物理上独立的文本段组成。 Aspose.Pdf文本模型基本上建立了TextFragmentobject 在物理上提供单一逻辑操作集TextSegment代表用户查询的对象集。 在文本搜索场景中,TextFragment是逻辑“hello world”文本表示, 和TextSegment对象集合表示构造“hello world”文本对象的所有物理段。 所以,TextFragment接近逻辑文本表示。 和TextSegment接近物理文本表示。 显然每个TextSegment对象可能有它自己的字体、颜色、定位属性。 TextFragment提供简单的方法来更改文本的属性:设置字体、设置字体大小、设置字体颜色等。 同时TextSegment对象是可访问的,用户可以使用TextSegment独立的对象。

Document doc = new Document(docFile);
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");
doc.Pages[1].Accept(absorber);

例子

该示例演示了如何更改文本的颜色和字体大小TextState的对象TextSegment对象.

// 打开文档
Document doc = new Document(@"D:\Tests\input.pdf");

// 创建 TextFragmentAbsorber 对象以查找所有“hello world”文本出现
TextFragmentAbsorber absorber = new TextFragmentAbsorber("hello world");

// 接受第一页的吸收器
doc.Pages[1].Accept(absorber);

// 更改第一个文本出现的第一个文本段的前景色
absorber.TextFragments[1].Segments[1].TextState.ForegroundColor = Color.FromRgb(System.Drawing.Color.Red);
// 更改第一个文本出现的第一个文本段的字体大小
absorber.TextFragments[1].Segments[1].TextState.FontSize = 15;

// 保存文档
doc.Save(@"D:\Tests\output.pdf");  

也可以看看