GraphicsState
概述
GraphicsState 是 Aspose.PDF FOSS 中用于 .NET 的类。
在内容流解析期间跟踪 PDF 图形状态 (PDF32000 §8.4)。
此类提供 10 个方法,用于在 .NET 程序中处理 GraphicsState 对象。可用的方法包括:AdvanceTextPosition、ConcatMatrix、GetEffectiveFontSize、GetTextPosition、MoveTextPosition、MoveToNextLine、Restore、Save、SetTextMatrix、TransformPoint。在安装 Aspose.PDF FOSS for .NET 包后,所有公共成员对任何 .NET 应用程序均可访问。属性包括:ActualText、BlendMode、CharSpacing、ClipMask、Ctm、DashArray,以及另外 32 项。
属性
| 名称 | 类型 | 访问 | 描述 |
|---|---|---|---|
Ctm | double[] | 读取 | 当前变换矩阵 (CTM)。 |
FillR | double | 读写 | 填充颜色 (RGB)。 |
FillG | double | 读写 | 获取或设置填充 g。 |
FillB | double | 读写 | 获取或设置填充 b。 |
StrokeR | double | 读写 | 描边颜色 (RGB)。 |
StrokeG | double | 读写 | 获取或设置stroke g。 |
StrokeB | double | 读写 | 获取或设置 stroke b。 |
LineWidth | double | 读写 | 线宽。 |
LineCap | int | 读写 | 线帽样式 (0=平头, 1=圆形, 2=方形)。 |
LineJoin | int | 读写 | 线段连接方式 (0=斜接, 1=圆形, 2=斜角)。 |
MiterLimit | double | 读写 | 斜接限制。 |
Flatness | double | 读写 | 平坦度容差。 |
FillAlpha | double | 读写 | 填充不透明度 (ca)。 |
StrokeAlpha | double | 读写 | 描边不透明度 (CA)。 |
BlendMode | string | 读写 | 混合模式 (BM)。 |
OverprintStroke | bool | 读写 | 描边的过印标志 (OP)。 |
OverprintFill | bool | 读写 | 非描边的过印标志 (op)。 |
ExtGStateName | string? | 读写 | 当前 ExtGState 资源的名称,或 null. |
MarkedContentTag | string? | 读写 | 当前标记内容标签(由 BDC/BMC 设置,已被 EMC 清除)。 |
ActualText | string? | 读写 | ActualText 来自标记内容属性(由 BDC 使用 /ActualText 设置)。 |
DashArray | double[] | 读写 | 破折号模式数组(d 运算符)。 |
DashPhase | double | 读写 | 破折号相位(d 运算符)。 |
FillColorSpace | string | 读写 | 当前填充颜色空间名称(cs 运算符)。 |
StrokeColorSpace | string | 读写 | 当前描边颜色空间名称(CS 运算符)。 |
FillPatternName | string? | 读写 | 当 FillColorSpace 为 “Pattern” 时,由 scn 设置的图案资源名称。 |
StrokePatternName | string? | 读写 | 用于描边的图案资源名称(SCN 运算符)。 |
InTextObject | bool | 读写 | 我们是否位于 BT/ET 文本对象内部。 |
FontName | string? | 读写 | 当前字体资源名称(例如 “F1”)。 |
FontSize | double | 读写 | 当前字体大小。 |
CharSpacing | double | 读写 | 字符间距 (Tc)。 |
WordSpacing | double | 读写 | 单词间距 (Tw)。 |
HorizontalScaling | double | 读写 | 水平缩放 (Tz)。 |
Leading | double | 读写 | 文本行距 (TL)。 |
RenderingMode | int | 读写 | 文本渲染模式 (Tr)。 |
Rise | double | 读写 | 文本升高(Ts)。 |
TextMatrix | double[] | 读取 | 文本矩阵(Tm)。 |
TextLineMatrix | double[] | 读取 | 文本行矩阵。 |
ClipMask | byte[]? | 读写 | 当前剪裁路径为二进制模板(255 = 像素在剪裁内,0 = 在外部)。 |
方法
| 签名 | 描述 |
|---|---|
Save() | 将当前状态压入栈中(q 操作符)。 |
Restore() | 恢复最近保存的状态(Q 操作符)。 |
ConcatMatrix(a: double, b: double, c: double, d: double, e: double, f: double) | 将矩阵连接到 CTM(cm 操作符)。 |
SetTextMatrix(a: double, b: double, c: double, d: double, e: double, f: double) | 直接设置文本矩阵(Tm 操作符)。 |
MoveTextPosition(tx: double, ty: double) | 移动文本位置(Td 操作符)。 |
AdvanceTextPosition(tx: double, ty: double) | 在显示字符串后推进文本位置(Tj/TJ)。 |
MoveToNextLine() | 移动到下一行的起始位置(T* 操作符)。 |
TransformPoint(x: double, y: double) | 将点从用户空间转换到设备空间,使用 CTM。 |
GetTextPosition() | 使用 CTM 和文字矩阵获取文本的绝对位置。 |
GetEffectiveFontSize() | 考虑文字矩阵缩放和 CTM,获取有效的字体大小。 |