# 第三方交互 / PDF ## `PDFFile` 声明:class 表示 PDF 文档对象,用于管理页面、字体、图像、文档属性并保存 PDF 文件 ### `addPage()` 声明:function 在当前 PDF 最后一页添加一个新页面 可见性:`public` 返回:pdf_page ### `insertPage(page)` 声明:function 在指定页面前插入一个新页面 可见性:`public` | 参数 | 类型 | 说明 | | ------ | -------- | -------------------------- | | `page` | pdf_page | PDFPage 对象类型,页面对象 | 返回:pdf_page #### 示例 范例01:插入页面并检查结果 ```tsl pdf := new PDFFile(); page := pdf.AddPage(); result := pdf.InsertPage(page); if ifObj(result) then begin return 1; end else begin return "插入新页面失败!!"; end; ``` ### `getCurrentPage()` 声明:function 获取当前 PDF 页面对象 可见性:`public` 返回:pdf_page #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); PDF.AddPage();//添加新页面 page := PDF.GetCurrentPage();//获取当前页面对象 return page is class(PDFPage); //获取成功,返回1 ``` ### `addPageLabel(page_num, style, first_page, prefix)` 声明:function 设置当前 PDF 页面标签样式。页面标签显示在缩略图视图中 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `page_num` | integer | 整数类型。应用此标签范围的第一页 | | `style` | integer | 整数类型。标签编号样式 值 说明 0 阿拉伯数字(1、2、3、4…) 1 大写罗马数字(I、II、III、IV…) 2 小写罗马数字(i、ii、iii、iv…) 3 大写字母(A、B、C、D…) 4 小写字母(a、b、c、d…) | | `first_page` | integer | 整数类型,正整数。标签起始页码 | | `prefix` | string | 字符串类型。标签前缀。可以使用空字符串 | 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); for i := 0 to 9 do PDF.addpage();//添加新页面 return PDF.AddPageLabel(0,1,2,"TS-"); ``` ### `setPageLayout(layout)` 声明:function 设置当前 PDF 的页面布局。未设置时,通常会使用 PDF 阅读器的默认设置 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `layout` | integer | 整数类型。页面布局类型 值 说明 对应接口(TSPDFEnumerations) 备注 0 单页显示 PAGE_LAYOUT_SINGLE 1 单列显示 PAGE_LAYOUT_ONE_COLUMN 2 双列显示,奇数页码显示在左侧 PAGE_LAYOUT_TWO_COLUMN_LEFT 3 双列显示,奇数页码显示在右侧 PAGE_LAYOUT_TWO_COLUMN_RIGHT 4 双页显示,奇数页码显示在左侧 PAGE_LAYOUT_TWO_PAGE_LEFT 5 双页显示,奇数页码显示在右侧 PAGE_LAYOUT_TWO_PAGE_RIGHT | 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); return PDF.SetPageLayout(1); //设置成功,返回0 ``` ### `getPageLayout()` 声明:function 获取当前 PDF 的页面布局。未设置时,其默认值为 6(PAGE_LAYOUT_EOF) 可见性:`public` 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); ret := PDF.SetPageLayout(1); if ret<>0 then return "设置页面布局失败!!"; return PDF.GetPageLayout(); //获取成功,返回1 ``` ### `setPageMode(mode)` 声明:function 设置当前 PDF 的页面显示模式。未设置时,通常会使用 PDF 阅读器的默认设置 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | integer | 整数类型。页面显示模式 值 说明 对应接口(TSPDFEnumerations) 备注 0 显示文档时,不显示大纲或缩略图 PAGE_MODE_USE_NODE 1 显示文档时,同时显示大纲 PAGE_MODE_USE_OUTLINE 2 显示文档时,同时显示缩略图 PAGE_MODE_USE_THUMBS 3 以全屏模式显示文档 PAGE_MODE_USE_SCREEN | 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); return PDF.SetPageMode(1); //设置成功,返回0 ``` ### `getPageMode()` 声明:function 获取当前 PDF 的页面显示模式 可见性:`public` 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); ret := PDF.SetPageMode(1); if ret<>0 then return "设置页面显示模式失败!!"; return PDF.GetPageMode(); //获取成功,返回1 ``` ### `setPagesConfiguration(max_pages)` 声明:function 设置当前 PDF 的最大页数。未设置时,最大页数为 8191; 设置后,最大页数为 8191* MaxPages 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------- | ---------------------- | | `max_pages` | integer | 整数类型。最大页数倍数 | 返回:integer ### `setOpenAction(dst)` 声明:function 设置指定页面为 PDF 文档打开时显示的第一页 可见性:`public` | 参数 | 类型 | 说明 | | ----- | --------------- | --------------------------------------------------------------------------------------- | | `dst` | pdf_destination | PDFDestination 对象类型,PDF 目标对象,可通过 PDFPage 对象的 CreateDestination 方法创建 | 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); for i := 0 to 3 do PDF.AddPage();//添加新页面 page := PDF.GetCurrentPage();//获取当前页面对象 dst := page. CreateDestination();//创建PDFDestination 对象 return PDF.SetOpenAction(dst); //设置成功,返回0 ``` ### `getFont(font_name, encoding_name)` 声明:function 获取指定字体 可见性:`public` | 参数 | 类型 | 说明 | | --------------- | ------ | ---------------------- | | `font_name` | string | 字符串类型。字体名称 | | `encoding_name` | string | 字符串类型。编码器名称 | 返回:pdf_font ### `loadType1FontFromFile(alias, afm_file_name, pfm_file_name)` 声明:function 从指定外部文件中加载 Type 1 字体 可见性:`public` | 参数 | 类型 | 说明 | | --------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `afm_file_name` | string | 字符串类型。 AFM 文件 名称 ; 若未配置 目录别名,可赋值完整文件路径,如 "D:\\test\\font.afm" pfbFileName : 字 符 串 类 型 。PFB 文 件 名 称; 若 未 配 置目 录 别 名 , 可 赋 值 完 整 文 件 路 径 , 如 "D:\\test\\font.pfb" | | `pfm_file_name` | string | Type 1 字体的 PFM 文件名或完整路径 | 返回:string ### `loadTTFontFromFile(alias, font_file_name, embedding)` 声明:function 从指定 TrueType 字体文件(.ttf)中加载 TrueType 字体 可见性:`public` | 参数 | 类型 | 说明 | | ---------------- | ------- | ------------------------------------------------------------------------------------------------ | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `font_file_name` | string | 字符串类型。TrueType 字体文件名称;若未配置目录别名,可赋值完整文件路径,如 "D:\\test\\font.ttf" | | `embedding` | boolean | 布尔值类型。当设置为 True 时,将字体的字形数据嵌入至 PDF 文件中;否则仅嵌入字体 的矩阵数据 | 返回:string ### `loadTTFontFromFile2(alias, font_file_name, index, embedding)` 声明:function 从指定 TrueType 字体集合文件(.ttc)中加载 TrueType 字体 可见性:`public` | 参数 | 类型 | 说明 | | ---------------- | ------- | ----------------------------------------------------------------------------------------------------- | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `font_file_name` | string | 字符串类型。TrueType 字体集合文件名称;若未配置目录别名, 可赋值完整文件路径, 如"D:\\test\\font.ttc" | | `index` | integer | 整数类型。要加载的 TrueType 字体在字体集合文件中的索引 | | `embedding` | boolean | 布尔值类型。当设置为 True 时,将字体的字形数据嵌入至 PDF 文件中;否则仅嵌入字体 的矩阵数据 | 返回:string ### `useCNSFonts()` 声明:function 启用简体中文字体 可见性:`public` 返回:integer ### `useCNTFonts()` 声明:function 启用繁体中文字体 可见性:`public` 返回:integer ### `getEncoder(encoding_name)` 声明:function 获取指定编码器 可见性:`public` | 参数 | 类型 | 说明 | | --------------- | ------ | ---------------------- | | `encoding_name` | string | 字符串类型。编码器名称 | 返回:pdf_encoder ### `setCurrentEncoder(encoding_name)` 声明:function 设置 PDF 当前编码器 可见性:`public` | 参数 | 类型 | 说明 | | --------------- | ------ | ---------------------- | | `encoding_name` | string | 字符串类型。编码器名称 | 返回:integer ### `getCurrentEncoder()` 声明:function 获取 PDF 当前编码器 可见性:`public` 返回:integer\|pdf_encoder ### `useCNSEncodings()` 声明:function 启用简体中文编码 可见性:`public` 返回:integer ### `useCNTEncodings()` 声明:function 启用繁体中文编码 可见性:`public` 返回:integer ### `useUTFEncodings()` 声明:function 启用 UTF-8 编码 可见性:`public` 返回:integer ### `loadPngImageFromFile(alias, file_name)` 声明:function 从 PNG 文件中加载图像 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------ | ------------------------------------------------------------------------------------- | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `file_name` | string | 字符串类型。文件名称;若未配置目录别名, 可赋值完整文件路径, 如"D:\\test\\image.png" | 返回:integer\|pdf_image ### `loadPngImageFromFile2(alias, file_name)` 声明:function 从 PNG 文件中加载图像。和 LoadPngImageFromFile 不同的是,LoadPngImageFromFile2 不会立 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------ | ------------------------------------------------------------------------------- | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `file_name` | string | 字符串类型。名称;若未配置目录别名,可赋值完整文件路径,如"D:\\test\\image.png" | 返回:integer\|pdf_image ### `loadPngImageFromMem(data)` 声明:function 从二进制流中加载 PNG 图像 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | ------------------------------------------ | | `data` | binary | Binary 类型。包含 PNG 图像信息的二进制数据 | 返回:integer\|pdf_image ### `loadRawImageFromFile(alias, file_name, width, height, mode)` 声明:function 从原始图像文件中加载图像 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `file_name` | string | 字符串类型。文件名称;若未配置目录别名, 可赋值完整文件路径, 如"D:\\test\\image.dat" | | `width` | integer | 整数类型。图像宽度 | | `height` | integer | 整数类型。图像高度 | | `mode` | integer | 整数类型。图像颜色空间模式 值 说明 对应接口(TSPDFEnumerations) 备注 0 GRAY(灰度色彩模式) CS_DEVICE_GRAY 1 RGB(红绿蓝色彩模式) CS_DEVICE_RGB 2 CMYK(青品黄黑色彩模式) CS_DEVICE_CMYK | 返回:integer\|pdf_image ### `loadRawImageFromMem(data, width, height, mode, bits)` 声明:function 从二进制流中加载原始图像 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `data` | binary | Binary 类型。包含原始图像信息的二进制数据 | | `width` | integer | 整数类型。指定原始图像宽度 | | `height` | integer | 整数类型。指定原始图像高度 | | `mode` | integer | 整数类型。指定原始图像色彩模式 值 说明 对应接口(TSPDFEnumerations) 备注 0 GRAY(灰度色彩模式) CS_DEVICE_GRAY 1 RGB(红绿蓝色彩模式) CS_DEVICE_RGB 2 CMYK(青品黄黑色彩模式) CS_DEVICE_CMYK | | `bits` | integer | 整数类型。指定原始图像中,每个颜色分量的位数;有效值为 1、2、4、8 | 返回:integer\|pdf_image ### `loadJpegImageFromFile(alias, file_name)` 声明:function 从指定 Jpeg 文件中加载图像 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------- | ------------------------------------------------------------------------------------ | | `alias` | integer | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `file_name` | integer | 字符串类型。文件名称;若未配置目录别名, 可赋值完整文件路径,如"D:\\test\\image.Jpg" | 返回:integer\|pdf_image ### `loadJpegImageFromMem(data)` 声明:function 从二进制流中加载 Jpeg 图像 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | ------------------------------------------- | | `data` | binary | Binary 类型。包含 Jpeg 图像信息的二进制数据 | 返回:integer\|pdf_image ### `setInfoAttr(info_type, value)` 声明:function 设置 PDF 文档属性 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `info_type` | string | 字符串类型。文档属性类型 值 说明 对应接口(TSPDFEnumerations) 备注 AUTHOR 文档作者 INFO_AUTHOR CREATOR 文档创建者 INFO_CREATOR TITLE 文档标题 INFO_TITLE SUBJECT 文档主题 INFO_SUBJECT KEYWORDS 文档关键字 INFO_KEYWORDS | | `value` | string | 字符串类型。要设置的属性内容。如果为非字符串类型,则属性内容默认设置为空字符串 | 返回:integer ### `setInfoDateAttr(date_type, value)` 声明:function 设置 PDF 文档日期时间 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `date_type` | string | 字符串类型。文档属性类型 值 说明 对应接口(TSPDFEnumerations) 备注 CREATION_DATE 文档创建日期时间 INFO_CREATION_DATE MOD_DATE 文档修改日期时间 INFO_MOD_DATE | | `value` | t_date_time | 天软日期时间类型。要设置的日期时间;必须带上时间部分,否则会报错 | 返回:integer ### `getInfoAttr(info_type)` 声明:function 获取 PDF 文档属性 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `info_type` | string | 字符串类型。文档属性类型 值 说明 对应接口(TSPDFEnumerations) 备注 AUTHOR 文档作者 INFO_AUTHOR CREATOR 文档创建者 INFO_CREATOR TITLE 文档标题 INFO_TITLE SUBJECT 文档主题 INFO_SUBJECT KEYWORDS 文档关键字 INFO_KEYWORDS CREATION_DATE 文档创建日期 INFO_CREATION_DATE MOD_DATE 文档修改日期 INFO_MOD_DATE | 返回:string\|integer ### `setPassword(owner_pass_word, user_pass_word)` 声明:function 设置 PDF 文档密码 可见性:`public` | 参数 | 类型 | 说明 | | ----------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `owner_pass_word` | string | 字符串类型。PDF 所有者密码;当设置了 PDF 所有者密码,输入用户密码可以正常 查看,但若想对文件进行编辑、打印、复制等操作,需要输入 PDF 所有者密码,否则无法进行操作 | | `user_pass_word` | string | 字符串类型。PDF 用户密码,可以设置为空字符串;打开 PDF 文件时,需输入密码才 能查看。不能和 PDF 所有者密码一致 | 返回:integer ### `setPermission(permission)` 声明:function 设置用户在浏览 PDF 文档时的操作权限。在设置操作权限之前,必须先设置 PDF 文档密码 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ------- | ----------------------------------------------------------------------- | | `permission` | integer | 整数类型。PDF 文档操作权限类型 值 说明 对应接口(TSPDFEnumerations) 备注 | 返回:integer ### `setEncryptionMode(mode, key_length)` 声明:function 设置 PDF 文档的加密模式。在设置加密模式之前,必须先设置 PDF 文档密码 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | integer | 整数类型。PDF 文档加密模式 值 说明 对应接口(TSPDFEnumerations) 备注 2 使用 Revision 2 加密算法 ENCRYPT_R2 3 使用 Revision 3 加密算法 ENCRYPT_R3 | | `key_length` | integer | 整数类型。指定加密密钥的字节长度。当 mode 为 2 时,keyLength 值为 5(40 bit);当 mode 为 3 时,keyLength 值可以设置为 5(40 bit)至 16(128 bit)之间的任意值 | 返回:integer ### `createOutline(parent, title, encoder)` 声明:function 创建新大纲 可见性:`public` | 参数 | 类型 | 说明 | | --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `parent` | nil\|pdf_outline | nil 值或 PDFOutline 对象类型。如果此参数为 nil 值时,新创建的大纲将作为顶级大纲;如果 为 PDFOutline 对象时,新创建的大纲将作为该对象的一个子级大纲 | | `title` | string | 字符串类型。新大纲标题名称 | | `encoder` | nil\|pdf_encoder | nil 值或 PDFEncoder 对象类型。如果此参数为 nil 值, 则默认使用PDFDocEncoding(标准 PDF 文档编码) 。如果需要处理包含非 ASCII 字符(如中文、日文、韩文等)的文本,则需要指定一个 PDFEncoder 对象,作为处理这些字符的编码器 | 返回:pdf_outline ### `setCompressionMode(mode)` 声明:function 设置 PDF 文档的压缩模式 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | integer | 整数类型。PDF 文档压缩模式 值(16 进制) 说明 对应接口(TSPDFEnumerations) 备注 0x00 无压缩:不对任何内容进行压缩 COMP_NONE 0x01 文本压缩:压缩页面中的文本和矢量图形 COMP_TEXT 0x02 图像压缩:压缩页面中的图像 COMP_IMAGE 0x04 元数据压缩:压缩字体、字符映射等内容 COMP_METADATA 0x0F 全部压缩:对文本、图像、元数据进行压缩 COMP_ALL | 返回:integer ### `saveToFile(alias, file_name)` 声明:function 将当前 PDF 保存为指定名称的.pdf 文件。若 PDF 中无任何页面,可能无法正常打开 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------ | --------------------------------------------------------------- | | `alias` | string | 字符串类型。目录别名;若未配置,可赋值为空字符串 | | `file_name` | string | 字符串类型。文件名称。可包含完整文件路径,如"D:\\test\\new.pdf" | 返回:integer #### 示例 范例01:调用示例 ```tsl PDF := new PDFFile(); PDF.addpage();//添加新页面 return PDF.savetofile("","C:\\test\\new01.pdf"); //保存成功,返回0 ``` ### `getError()` 声明:function 获取当前 PDF 对象的最后一个错误代码 可见性:`public` 返回:integer ## `PDFPage` 声明:class 表示 PDF 页面对象,用于绘制文本、图形和图像;通过 PDFFile 创建 ### `setSize(size, direction)` 声明:function 将当前 PDF 页面的大小和方向设置为预设值 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `size` | integer | 整数类型。PDF 页面大小 值 说明(单位:cm) 对应接口(TSPDFEnumerations) 备注 0 宽:21.59,高:27.94 PAGE_SIZE_LETTER 1 宽:21.59,高:35.56 PAGE_SIZE_LEGAL 2 宽:29.7,高:42 PAGE_SIZE_A3 3 宽:21,高:29.7 PAGE_SIZE_A4 4 宽:14.8,高:21 PAGE_SIZE_A5 5 宽:25,高:35.3 PAGE_SIZE_B4 6 宽:17.6,高:25 PAGE_SIZE_B5 7 宽:18.41,高:26.67 PAGE_SIZE_EXECUTIVE 8 宽:10.16,高:15.24 PAGE_SIZE_US4x6 9 宽:10.16,高:20.32 PAGE_SIZE_US4x8 10 宽:12.7,高:17.78 PAGE_SIZE_US5x7 11 宽:10.4775,高:24.13 PAGE_SIZE_COMM10 | | `direction` | integer | 整数类型。PDF 页面方向 值 说明 对应接口(TSPDFEnumerations) 备注 0 纵向展示 PAGE_PORTRAIT 1 横向展示 PAGE_LANDSCAPE | 返回:integer ### `setWidth(width)` 声明:function 设置当前 PDF 页面的宽度; 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ------- | ---------------------- | | `width` | integer | 整数类型。PDF 页面宽度 | 返回:integer ### `getWidth()` 声明:function 获取当前 PDF 页面的宽度; 可见性:`public` 返回:integer ### `setHeight(height)` 声明:function 设置当前 PDF 页面的高度; 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | -------------- | | `height` | integer | PDF 页面的高度 | 返回:integer ### `getHeight()` 声明:function 获取当前 PDF 页面的高度; 可见性:`public` 返回:integer ### `setRotate(angle)` 声明:function 设置当前 PDF 页面的旋转角度 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ------- | -------------------------------------------- | | `angle` | integer | 整数类型。PDF 页面旋转角度,必须为 90 的倍数 | 返回:integer ### `getGMode()` 声明:function 获取页面图形模式 可见性:`public` 返回:integer ### `getTransMatrix()` 声明:function 获取页面变换矩阵。用于描述图形元素(如路径、文本或图像)在页面上的缩放、旋转和平 可见性:`public` 返回:array ### `concat(a, b, c, d, x, y)` 声明:function 将页面当前的变换矩阵和指定矩阵进行连接 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | -------------------------- | | `a` | real | 实数类型。水平方向缩放比例 | | `b` | real | 实数类型。水平方向倾斜角度 | | `c` | real | 实数类型。垂直方向倾斜角度 | | `d` | real | 实数类型。垂直方向缩放比例 | | `x` | real | 实数类型。水平方向平移量 | | `y` | real | 实数类型。垂直方向平移量 | 返回:integer ### `gSave()` 声明:function 保存当前的图形状态,包括当前的图形变换矩阵、剪切路径、颜色、线条宽度等 可见性:`public` 返回:integer ### `gRestore()` 声明:function 恢复之前保存的图形状态 可见性:`public` 返回:integer ### `getGStateDepth()` 声明:function 获取当前已保存图形状态的个数 可见性:`public` 返回:integer ### `setFontAndSize(font_name, font_size)` 声明:function 设置页面中文本显示时的字体以及大小。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | -------- | --------------------------------------- | | `font_name` | pdf_font | PDFFont 对象类型。指定字体对象 | | `font_size` | integer | 整数类型。字体大小,0 < fontSize <= 600 | 返回:integer ### `getCurrentFont()` 声明:function 获取页面当前使用的字体 可见性:`public` 返回:pdf_font ### `getCurrentFontSize()` 声明:function 获取页面当前使用字体的大小 可见性:`public` 返回:integer ### `beginText()` 声明:function 文本绘制开始。图形模式:页面描述->文本对象 可见性:`public` 返回:integer ### `endText()` 声明:function 文本绘制结束。图形模式:文本对象->页面描述 可见性:`public` 返回:integer ### `setCharSpace(value)` 声明:function 设置页面中文本显示时的字符间距。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | --------------------------------------- | | `value` | real | 实数类型。字符间距,-30 <= value <= 300 | 返回:integer ### `getCharSpace()` 声明:function 获取页面中文本显示时的字符间距 可见性:`public` 返回:real ### `setWordSpace(value)` 声明:function 设置页面中文本显示时的词组间距。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ---------------------- | | `value` | real | 实数类型。文本词组间距 | 返回:integer ### `getWordSpace()` 声明:function 获取页面中文本显示时的词组间距 可见性:`public` 返回:real ### `setTextLeading(value)` 声明:function 设置页面中文本显示时的行间距。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | -------------------- | | `value` | real | 实数类型。文本行间距 | 返回:integer ### `getTextLeading()` 声明:function 获取页面中文本显示时的行间距 可见性:`public` 返回:real ### `setHorizontalScalling(value)` 声明:function 设置文本显示时水平方向的缩放比例。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ---------------------------------------------------- | | `value` | real | 实数类型。缩放比例,默认值为 100;10 <= value <= 300 | 返回:integer ### `getHorizontalScalling()` 声明:function 获取页面中文本显示时的水平缩放比例。未设置时,默认值为 100.0 可见性:`public` 返回:real ### `setTextRenderingMode(mode)` 声明:function 设置页面中文本的渲染模式 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | --------------------------------------------------------------------------------------------------------- | | `mode` | integer | 整数类型。文本渲染模式 值 对应接口(TSPDFEnumerations) 备注 0 FILL 具体展示效果可查看文本渲染模式 1 STROKE | 返回:integer ### `getTextRenderingMode()` 声明:function 获取页面中文本的渲染模式 可见性:`public` 返回:integer ### `setTextRise(value)` 声明:function 设置页面中文本的上升距离。上升距离:指文本与基线之间上下移动的距离 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ------------------------------------------------------ | | `value` | real | 实数类型。文本上升距离,具体展示效果可查看文本上升距离 | 返回:integer ### `getTextRise()` 声明:function 获取页面中文本的上升距离。上升距离:指文本与基线之间上下移动的距离 可见性:`public` 返回:integer ### `setTextMatrix(a, b, c, d, x, y)` 声明:function 设置文本变换矩阵。图形模式:文本对象->文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | --------------------------------------------------------------- | | `a` | real | 实数类型。水平方向缩放比例 | | `b` | real | 实数类型。水平方向倾斜角度 | | `c` | real | 实数类型。垂直方向倾斜角度 | | `d` | real | 实数类型。垂直方向缩放比例 | | `x` | real | 实数类型。水平方向平移量 | | `y` | real | 实数类型。垂直方向平移量 注:当 a 或 d 为 0 时,b 和 c 不能为 0 | 返回:integer ### `getTextMatrix()` 声明:function 获取页面中文本变换矩阵。用于描述文本在 PDF 页面上的旋转、缩放和平移等信息 可见性:`public` 返回:array ### `textWidth(text)` 声明:function 获取指定文本在页面中的宽度 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | ---------------- | | `text` | string | 字符串。文本内容 | 返回:real ### `measureText(text, width, wordwrap, real_width)` 声明:function 测量文本在指定宽度中可显示的最大字符数以及实际文本宽度 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ------- | ------------------------ | | `text` | string | 字符串。文本内容 | | `width` | real | 实数。指定宽度 | | `wordwrap` | boolean | 布尔值。是否换行 | | `real_width` | real | 实数。变参。文本实际宽度 | 返回:integer ### `getCurrentTextPos()` 声明:function 获取当前文本显示位置 可见性:`public` 返回:array ### `moveTextPos(x, y)` 声明:function 将当前文本显示位置(x1,y1) 移动至(x1+x,y1+y)。图形模式:文本对象->文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | -------------------- | | `x` | real | 实数类型。x 轴偏移量 | | `y` | real | 实数类型。y 轴偏移量 | 返回:integer ### `moveTextPos2(x, y)` 声明:function 将当前文本显示位置(x1,y1)移动至(x1+x,y1+y),并且将文本行间距设置为-y。图形模式:文本 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | -------------------- | | `x` | real | 实数类型。x 轴偏移量 | | `y` | real | 实数类型。y 轴偏移量 | 返回:integer ### `moveToNextLine()` 声明:function 将当前文本显示位置移动至下一行的起始位置。需要注意:若行间距过小,文本可能会重 可见性:`public` 返回:integer ### `showText(text)` 声明:function 在当前位置显示指定文本。图形模式:文本对象->文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | -------------------- | | `text` | string | 字符串类型。文本内容 | 返回:integer ### `showTextNextLine(text)` 声明:function 将当前文本显示位置移动至下一行,并显示指定文本。图形模式:文本对象->文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | -------------------- | | `text` | string | 字符串类型。文本内容 | 返回:integer ### `showTextNextLineEx(wordspace, charspace, text)` 声明:function 将当前文本显示位置移动至下一行,设置词组、字符间距并显示指定文本。图形模式:文本对 可见性:`public` | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------- | | `wordspace` | real | 实数类型。词组间距 | | `charspace` | real | 实数类型。字符间距 | | `text` | string | 字符串类型。文本内容 | 返回:integer ### `textOut(x, y, text)` 声明:function 在页面指定位置显示指定文本。图形模式:文本对象->文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | ------------------------------- | | `x` | real | 实数类型。页面指定位置 x 轴坐标 | | `y` | real | 实数类型。页面指定位置 y 轴坐标 | | `text` | string | 字符串类型。文本内容 | 返回:integer ### `textRect(left, top, right, bottom, text, align, len)` 声明:function 在页面指定区域显示文本。图形模式:文本对象->文本对象 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | `left` | real | 实数类型。指定区域左边框距离页面左侧的距离 | | `top` | real | 实数类型。指定区域上边框距离页面底侧的距离 | | `right` | real | 实数类型。指定区域右边框距离页面左侧的距离 | | `bottom` | real | 实数类型。指定区域下边框距离页面底侧的距离 | | `text` | string | 实数类型。文本内容 | | `align` | integer | 整数类型。文本对齐方式 值 说明 对应接口(TSPDFEnumerations) 备注 0 左对齐 TALIGN_LEFT 1 居中 TALIGN_RIGHT 2 右对齐 TALIGN_CENTER 3 两端对齐 TALIGN_JUSTIFY | | `len` | integer | 整数类型。变参。区域中绘制的文本字符长度 | 返回:integer ### `getCurrentPos()` 声明:function 获取当前路径绘制位置 可见性:`public` 返回:array ### `lineTo(x, y)` 声明:function 绘制一条从当前位置到指定位置(x,y)的直线。图形模式:路径对象->路径对象 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | --------------------------- | | `x` | real | 实数类型。指定位置 x 轴坐标 | | `y` | real | 实数类型。指定位置 y 轴坐标 | 返回:integer ### `rectangle(x, y, width, height)` 声明:function 在页面指定位置,绘制一个指定大小的矩形。图形模式:页面描述/路径对象->路径对象 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ---- | ----------------------------- | | `x` | real | 实数类型。矩形左下角 x 轴坐标 | | `y` | real | 实数类型。矩形左下角 y 轴坐标 | | `width` | real | 实数类型。矩形宽度 | | `height` | real | 实数类型。矩形高度 | 返回:integer ### `circle(x, y, radius)` 声明:function 在页面指定位置,绘制一个指定大小的圆。图形模式:页面描述/路径对象->路径对象 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ---- | --------------------------- | | `x` | real | 实数类型。圆中心点 x 轴坐标 | | `y` | real | 实数类型。圆中心点 y 轴坐标 | | `radius` | real | 实数类型。圆半径 | 返回:integer ### `ellipse(x, y, x_radius, y_radius)` 声明:function 在页面指定位置,绘制一个指定大小的椭圆。图形模式:路径对象->路径对象 可见性:`public` | 参数 | 类型 | 说明 | | ---------- | ---- | --------------------------- | | `x` | real | 实数类型。椭圆中心 x 轴坐标 | | `y` | real | 实数类型。椭圆中心 y 轴坐标 | | `x_radius` | real | 实数类型。椭圆 x 轴半径 | | `y_radius` | real | 实数类型。椭圆 y 轴半径 | 返回:integer ### `arc(x, y, radius, ang1, ang2)` 声明:function 在页面指定位置,绘制一条指定大小的圆弧 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ---- | ----------------------------- | | `x` | real | 实数类型。圆弧中心点 x 轴坐标 | | `y` | real | 实数类型。圆弧中心点 y 轴坐标 | | `radius` | real | 实数类型。圆弧半径 | | `ang1` | real | 实数类型。圆弧的起始角度 | | `ang2` | real | 实数类型。圆弧的结束角度 | 返回:integer ### `curveTo(x1, y1, x2, y2, x3, y3)` 声明:function 以当前位置为起点,使用两个控制点和一个终点绘制贝塞尔曲线 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ------------------------------- | | `x1` | real | 实数类型。第一个控制点 x 轴坐标 | | `y1` | real | 实数类型。第一个控制点 y 轴坐标 | | `x2` | real | 实数类型。第二个控制点 x 轴坐标 | | `y2` | real | 实数类型。第二个控制点 y 轴坐标 | | `x3` | real | 实数类型。曲线终点 x 轴坐标 | | `y3` | real | 实数类型。曲线终点 y 轴坐标 | 返回:integer ### `curveTo2(x2, y2, x3, y3)` 声明:function 以当前位置为起始点,绘制一条贝塞尔曲线。其中,(x2,y2)为曲线控制点,(x3, y3)为曲线终 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | --------------------------- | | `x2` | real | 实数类型。控制点 x 轴坐标 | | `y2` | real | 实数类型。控制点 y 轴坐标 | | `x3` | real | 实数类型。曲线终点 x 轴坐标 | | `y3` | real | 实数类型。曲线终点 y 轴坐标 | 返回:integer ### `curveTo3(x1, y1, x3, y3)` 声明:function 以当前位置为起始点,绘制一条贝塞尔曲线。其中,(x1,y1)为曲线控制点,(x3, y3)为曲线终 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | --------------------------- | | `x1` | real | 实数类型。控制点 x 轴坐标 | | `y1` | real | 实数类型。控制点 y 轴坐标 | | `x3` | real | 实数类型。曲线终点 x 轴坐标 | | `y3` | real | 实数类型。曲线终点 y 轴坐标 | 返回:integer ### `setLineWidth(width)` 声明:function 设置页面中线条的宽度。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ------------------ | | `width` | real | 实数类型。线条宽度 | 返回:integer ### `getLineWidth()` 声明:function 获取页面中线条宽度。未设置时,其默认值为 1.0 可见性:`public` 返回:real ### `setLineCap(type)` 声明:function 设置页面中线条末端样式。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | `type` | integer | 实数类型。线条末端样式 值 对应接口(TSPDFEnumerations) 备注 0 BUTT_END 具体展示效果可查看线条末端样式 1 ROUND_END 2 PROJECTING_SQUARE_END | 返回:integer ### `getLineCap()` 声明:function 获取页面中线条末端样式。未设置时,其默认值为 0 可见性:`public` 返回:integer ### `setLineJoin(type)` 声明:function 设置页面中线条连接样式。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ------------------------ | | `type` | integer | 评价层次或返回类型选择项 | 返回:integer ### `getLineJoin()` 声明:function 获取页面中线条连接样式。未设置时,其默认值为 0 可见性:`public` 返回:integer ### `setMiterLimit(value)` 声明:function 设置页面中,线条连接处的斜接限制比例。图形模式:页面描述/文本对象->页面描述/文本对 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ---- | ---------------------- | | `value` | real | 实数类型。斜接限制比例 | 返回:integer ### `getMiterLimit()` 声明:function 获取页面中,线条连接处的斜接限制比例。未设置时,其默认值为 1.0 可见性:`public` 返回:real ### `setDash(dash_ptn, num_elem, phase)` 声明:function 设置页面中线条的虚线模式。图形模式:页面描述/文本对象->页面描述/文本对象 可见性:`public` | 参数 | 类型 | 说明 | | ---------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | `dash_ptn` | array | 一维整数数组。虚线数组,表示虚线中实线部分和空白部分的长度;例如,array(3,2)表示绘 制 3 个单位长度的实线,然后绘制 2 个单位长度的空白,依此循环 | | `num_elem` | integer | 整数类型。参数 dashPtn 中的元素个数。numElem 必须大于 0,小于或等于 dashPtn 的长 度(最大值为 8) | | `phase` | integer | 整数类型。虚线绘制的初始位置。默认值为 0。当虚线数组为 array(3,2),如果 phase 为 2,那 么绘制会从虚线数组的第二个单位开始 | 返回:integer ### `getDash()` 声明:function 获取页面中线条的虚线模式 可见性:`public` 返回:array ### `getFlat()` 声明:function 获取页面中线条的平坦度。值越小,绘制的曲线越平滑。未设置时,其默认值为 1.0 可见性:`public` 返回:real ### `clip()` 声明:function 裁剪当前路径,使用非零环绕数规则。图形模式:路径对象->裁剪路径 可见性:`public` 返回:integer ### `eoClip()` 声明:function 裁剪当前路径,使用奇-偶规则。图形模式:路径对象->裁剪路径 可见性:`public` 返回:integer ### `fill()` 声明:function 使用非零环绕数规则填充当前路径。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `eoFill()` 声明:function 使用奇-偶规则填充当前路径。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `fillStroke()` 声明:function 使用非零环绕数规则填充当前路径并描边。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `eoFillStroke()` 声明:function 使用奇-偶规则填充当前路径并描边。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `stroke()` 声明:function 绘制当前路径的外边缘。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `moveTo(x, y)` 声明:function 将当前路径绘制位置移动至指定位置(x,y)。图形模式:页面描述/路径对象->路径对象 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | --------------------------- | | `x` | real | 实数类型。指定位置 x 轴坐标 | | `y` | real | 实数类型。指定位置 y 轴坐标 | 返回:integer ### `closePath()` 声明:function 关闭当前路径;若当前路径不闭合,则在当前点与起点之间添加一条直线段,从而使得路径 可见性:`public` 返回:integer ### `closePathStroke()` 声明:function 关闭当前绘制路径并描边。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `closePathFillStroke()` 声明:function 关闭当前绘制路径,并使用非零环绕数规则填充路径,然后进行描边。图形模式:路径对象 可见性:`public` 返回:integer ### `closePathEofillStroke()` 声明:function 关闭当前绘制路径,并使用奇-偶规则填充路径,然后进行描边。图形模式:路径对象->页面 可见性:`public` 返回:integer ### `endPath()` 声明:function 结束当前路径,不进行填充或描边操作。图形模式:路径对象->页面描述 可见性:`public` 返回:integer ### `setRGBFill(r, g, b)` 声明:function 设置页面填充颜色,RGB 格式。设置成功后,当前页面填充颜色空间会变更为 RGB 模式 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ---------------------------------- | | `r` | real | 实数类型。R(红色)值,0 <= r <= 1 | | `g` | real | 实数类型。G(绿色)值,0 <= g <= 1 | | `b` | real | 实数类型。B(蓝色)值,0 <= b <= 1 | 返回:integer ### `getRGBFill()` 声明:function 获取页面填充颜色,RGB 格式。仅在页面填充颜色空间为 RGB 模式时有效 可见性:`public` 返回:array ### `setRGBStroke(r, g, b)` 声明:function 设置页面描边颜色,RGB 格式。设置成功后,当前页面描边颜色空间会变更为 RGB 模式 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ---------------------------------- | | `r` | real | 实数类型。R(红色)值,0 <= r <= 1 | | `g` | real | 实数类型。G(绿色)值,0 <= g <= 1 | | `b` | real | 实数类型。B(蓝色)值,0 <= b <= 1 | 返回:integer ### `getRGBStroke()` 声明:function 获取页面描边颜色,RGB 格式。仅在页面描边颜色空间为 RGB 模式时有效 可见性:`public` 返回:array ### `setCMYKFill(c, m, y, k)` 声明:function 设置页面填充颜色,CMYK 格式。设置成功后,当前页面填充颜色空间会变更为 CMYK 模式 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ------------------------------------ | | `c` | real | 实数类型。C(青色)值,0 <= c <= 1 | | `m` | real | 实数类型。M(洋红色)值,0 <= m <= 1 | | `y` | real | 实数类型。Y(黄色)值,0 <= y <= 1 | | `k` | real | 实数类型。K(黑色)值,0 <= k <= 1 | 返回:integer ### `getCMYKFill()` 声明:function 获取页面填充颜色,CMYK 格式。仅在页面填充颜色空间为 CMYK 模式时有效 可见性:`public` 返回:array ### `setCMYKStroke(c, m, y, k)` 声明:function 设置页面描边颜色,CMYK 格式。设置成功后,当前页面描边颜色空间会变更为 CMYK 模式 可见性:`public` | 参数 | 类型 | 说明 | | ---- | ---- | ------------------------------------ | | `c` | real | 实数类型。C(青色)值,0 <= c <= 1 | | `m` | real | 实数类型。M(洋红色)值,0 <= m <= 1 | | `y` | real | 实数类型。Y(黄色)值,0 <= y <= 1 | | `k` | real | 实数类型。K(黑色)值,0 <= k <= 1 | 返回:integer ### `getCMYKStroke()` 声明:function 获取页面描边颜色,CMYK 格式。仅在页面描边颜色空间为 CMYK 模式时有效 可见性:`public` 返回:array ### `setGrayFill(gray)` 声明:function 设置页面填充颜色的灰度值。设置成功后,当前页面填充颜色空间会变更为 Gray 模式 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ---- | -------------------------------- | | `gray` | real | 实数类型。灰度值,0 <= gray <= 1 | 返回:integer ### `getGrayFill()` 声明:function 获取页面填充颜色的灰度值。仅在页面填充颜色空间为 Gray 模式时有效 可见性:`public` 返回:real ### `getGrayStroke()` 声明:function 获取页面描边颜色的灰度值。仅在页面描边颜色空间为 Gray 模式时有效 可见性:`public` 返回:real ### `getFillingColorSpace()` 声明:function 获取页面填充颜色空间模式。未设置时,默认颜色空间为灰度颜色空间 可见性:`public` 返回:integer ### `getStrokingColorSpace()` 声明:function 获取页面描边颜色空间模式 可见性:`public` 返回:integer ### `drawImage(image, x, y, width, height)` 声明:function 在当前页面指定位置,绘制指定图像 可见性:`public` | 参数 | 类型 | 说明 | | -------- | --------- | --------------------------------------- | | `image` | pdf_image | PDFImage 对象类型。要绘制的图像 | | `x` | real | 实数类型。图像绘制区域左下角的 x 轴坐标 | | `y` | real | 实数类型。图像绘制区域左下角的 y 轴坐标 | | `width` | real | 实数类型。图像绘制区域宽度 | | `height` | real | 实数类型。图像绘制区域高度 | 返回:integer ### `createTextAnnot(rect, text, encoder)` 声明:function 在当前页面指定位置,创建一个文本注释 可见性:`public` | 参数 | 类型 | 说明 | | --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `rect` | array | 一维实数数组。注释区域位置以及大小;如 array(50, 350, 150, 400),分别用来代表注释左、下、 右、上四个边框和页面左、下边框的距离 | | `text` | string | 字符串类型。注释文本内容 | | `encoder` | nil\|pdf_encoder | nil 值或 PDFEncoder 对象类型。指定注释中的文本编码。如果为 nil 值,则默认使用 PDFDocEncoding(标准 PDF 文档编码)。如果需要处理非 ASCII 字符(如中文、日文、韩文等),则 需要指定一个对应的 PDFEncoder 对象,处理这些字符的编码 | 返回:pdf_annotation ### `createLinkAnnot(rect, dst)` 声明:function 在当前页面指定位置,创建一个链接注释 可见性:`public` | 参数 | 类型 | 说明 | | ------ | --------------- | ----------------------------------------------------------------------------------------------------------------------------- | | `rect` | array | 一维实数数组。注释区域位置以及大小;如 array(50, 350, 150, 400),分别用来代表注释左、下、 右、上四个边框和页面左、下边框的距离 | | `dst` | pdf_destination | PDFDestination 对象。点击链接后跳转到的目标位置 | 返回:pdf_annotation ### `createURILinkAnnot(rect, uri)` 声明:function 在当前页面指定位置,创建一个网页链接注释 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------ | --------------------------------------------------------------------------------------------------------------------- | | `rect` | array | 一维实数数组。注释区域位置以及大小;如 array(50, 350, 150, 400),代表注释左、下、右、上四 个边框和页面左、下边框的距离 | | `uri` | string | 字符串。网页链接地址 | 返回:pdf_annotation ### `createDestination()` 声明:function 为当前页面创建一个新的目标对象。用来指定文档中的某个位置,通常用于链接和导航 可见性:`public` 返回:pdf_destination ### `getError()` 声明:function 获取当前 PDF 页面对象的最后一个错误代码 可见性:`public` 返回:integer ## `PDFDestination` 声明:class 表示 PDF 文档中的目标位置,用于链接与页面导航;通过 PDFPage 创建 ### `setXYZ(left, top, zoom)` 声明:function 设置文档中目标对象的位置以及缩放比例 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ---- | -------------------------------------- | | `left` | real | 实数类型。目标位置和页面左侧之间的距离 | | `top` | real | 实数类型。目标位置和页面上方之间的距离 | | `zoom` | real | 实数类型。页面缩放比例 | 返回:integer ### `setFit()` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面大小完全适应视窗 可见性:`public` 返回:integer ### `setFitH(top)` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面宽度适应视窗;并且视窗顶部与页面 可见性:`public` | 参数 | 类型 | 说明 | | ----- | ---- | ---------------------- | | `top` | real | 实数类型。页面指定高度 | 返回:integer ### `setFitV(left)` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面高度适应视窗,并且视窗左侧与页面 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ---- | ---------------------- | | `left` | real | 实数类型。页面指定宽度 | 返回:integer ### `setFitR(left, bottom, right, top)` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面指定矩形区域内容完全显示在视窗中 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ---- | ------------------------------------- | | `left` | real | 实数类型。指定矩形区域左下角 x 轴坐标 | | `bottom` | real | 实数类型。指定矩形区域左下角 y 轴坐标 | | `right` | real | 实数类型。指定矩形区域右上角 x 轴坐标 | | `top` | real | 实数类型。指定矩形区域右上角 y 轴坐标 | 返回:integer ### `setFitB()` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面内容在边界框内 可见性:`public` 返回:integer ### `setFitBH(top)` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面边界框宽度适应视窗,并且视窗顶部 可见性:`public` | 参数 | 类型 | 说明 | | ----- | ---- | ---------------------- | | `top` | real | 实数类型。页面指定高度 | 返回:integer ### `setFitBV(left)` 声明:function 当跳转到目标位置时,页面会自动调整缩放,以确保页面边界框高度适应视窗,并且视窗左侧 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ---- | ---------------------- | | `left` | real | 实数类型。页面指定宽度 | 返回:integer ## `PDFFont` 声明:class 表示 PDF 字体对象,用于查询字体名称、编码及文本度量信息 ### `getFontName()` 声明:function 获取字体名称 可见性:`public` 返回:string ### `getEncodingName()` 声明:function 获取字体编码器名称 可见性:`public` 返回:string ### `getUnicodeWidth(code)` 声明:function 获取当前字体下指定 Unicode 字符的宽度 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ----------------------------------- | | `code` | integer | 整数类型。指定 Unicode 字符数字代码 | 返回:integer ### `getBBox()` 声明:function 获取字体边界框大小。字体边界框:把字体中的所有字形都放在一起,让它们的原点重合,然 可见性:`public` 返回:array ### `getAscent()` 声明:function 获取字体中字形相对于基线能够达到的最大上升高度,不包括带重音符号字符的高度 可见性:`public` 返回:integer ### `getDescent()` 声明:function 获取字体中字形相对于基线能够达到的最大下延深度 可见性:`public` 返回:integer ### `getXHeight()` 声明:function 获取字体中平坦且非上升的小写字母顶部相对于基线的高度 可见性:`public` 返回:integer ### `getCapHeight()` 声明:function 获取字体中平坦且非上升的大写字母顶部相对于基线的高度 可见性:`public` 返回:integer ### `textWidth(text, len)` 声明:function 获取文本在当前字体下的宽度信息 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | -------------------- | | `text` | string | 字符串类型。文本内容 | | `len` | integer | 整数类型。文本长度 | 返回:array ### `measureText(text, len, width, font_size, char_space, word_space, wrap, ret)` 声明:function 测量文本在指定字体大小下,指定宽度内可显示的最大字符数以及实际文本宽度 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ------- | ---------------------------- | | `text` | string | 字符串类型。文本内容 | | `len` | integer | 整数类型。文本长度 | | `width` | real | 实数类型。指定宽度 | | `font_size` | real | 实数类型。字体大小 | | `char_space` | real | 实数类型。字符间距 | | `word_space` | real | 实数类型。词组间距 | | `wrap` | boolean | 布尔值类型。是否换行 | | `ret` | real | 实数类型,变参。文本实际宽度 | 返回:array ## `PDFEncoder` 声明:class 表示 PDF 编码对象,用于查询字符编码类型、字节类型和写入模式 ### `getType()` 声明:function 获取当前字符编码类型 可见性:`public` 返回:integer ### `getByteType(text, index)` 声明:function 获取在当前编码下,文本中指定位置字符的字节类型 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ------ | -------------------------- | | `text` | string | 待检测编码或字符类型的文本 | | `index` | array | 数组元素的零基下标 | 返回:integer ### `getUnicode(code)` 声明:function 将指定的字符代码转换为 Unicode 编码 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ------------------ | | `code` | integer | 整数类型。字符代码 | 返回:integer ### `getWritingMode()` 声明:function 获取当前编码下的文本写入模式 可见性:`public` 返回:integer ## `PDFOutline` 声明:class 表示 PDF 大纲或目录对象,用于设置展开状态和跳转目标 ### `setOpened(opened)` 声明:function 设置 PDF 文档在首次打开时是否绘制大纲 可见性:`public` | 参数 | 类型 | 说明 | | -------- | ------- | ------------------------------------------ | | `opened` | boolean | 布尔值类型。PDF 文档首次打开时是否绘制大纲 | 返回:integer ### `setDestination(dst)` 声明:function 设置点击 PDF 文档大纲时,要跳转到的目标位置 可见性:`public` | 参数 | 类型 | 说明 | | ----- | --------------- | --------------------------------------- | | `dst` | pdf_destination | PDFDestination 对象。要跳转到的目标位置 | 返回:integer ## `PDFImage` 声明:class 表示 PDF 图像对象,用于查询图像尺寸、颜色信息并设置遮罩图像 ### `getSize()` 声明:function 获取图像大小 可见性:`public` 返回:array ### `getWidth()` 声明:function 获取图像宽度 可见性:`public` 返回:integer ### `getHeight()` 声明:function 获取图像高度 可见性:`public` 返回:integer ### `getBitsPerComponent()` 声明:function 获取图像颜色分量值位数 可见性:`public` 返回:integer ### `getColorSpace()` 声明:function 获取当前图像的颜色空间类型 可见性:`public` 返回:integer ### `setColorMask(rmin, rmax, gmin, gmax, bmin, bmax)` 声明:function 设置 RGB 图像的颜色遮罩,使指定颜色范围内的颜色透明 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ---- | --------------------------------- | | `rmin` | real | 红色值的下限。0 <= rmin <= rmax | | `rmax` | real | 红色值的上限。rmin <= rmax <= 255 | | `gmin` | real | 绿色值的下限。0 <= gmin <= gmax | | `gmax` | real | 绿色值的上限。gmin <= gmax <= 255 | | `bmin` | real | 蓝色值的下限。0 <= bmin <= bmax | | `bmax` | real | 蓝色值的上限。bmin <= bmax <= 255 | 返回:integer ### `setMaskImage(image)` 声明:function 为当前图像设置一个遮罩图像。使用遮罩图像(通常是 1 位灰度图像)来控制原始图像的哪些 可见性:`public` | 参数 | 类型 | 说明 | | ------- | --------- | ----------------------------------- | | `image` | pdf_image | PDFImage 对象类型。要使用的遮罩图像 | 返回:integer ## `PDFAnnotation` 声明:class 表示 PDF 批注对象,用于配置超链接、文本批注、边框和显示样式 ### `linkAnnotSetHighlightMode(mode)` 声明:function 设置超链接注释的高亮显示模式 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | `mode` | integer | 整数类型。高亮模式 值 说明 对应接口(TSPDFEnumerations) 备注 0 无高亮效果 ANNOT_NO_HIGHTLIGHT 1 反转颜色高亮 ANNOT_INVERT_BOX 2 描边高亮 ANNOT_INVERT_BORDER | 返回:integer ### `linkAnnotSetBorderStyle(width, dash_on, dash_off)` 声明:function 设置链接注释的边框样式 可见性:`public` | 参数 | 类型 | 说明 | | ---------- | ------- | ------------------------------ | | `width` | real | 实数类型。边框宽度 | | `dash_on` | integer | 整数类型。虚线中的实线部分长度 | | `dash_off` | integer | 整数类型。虚线中的空白部分长度 | 返回:integer ### `textAnnotSetIcon(icon)` 声明:function 设置文本注释图标 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `icon` | integer | 整数类型。文本注释图标 值 说明 对应接口(TSPDFEnumerations) 备注 0 评论图标 ANNOT_ICON_COMMENT 1 钥匙图标 ANNOT_ICON_KEY 2 笔记图标 ANNOT_ICON_NOTE 3 帮助图标 ANNOT_ICON_HELP 4 新段落图标 ANNOT_ICON_NEW_PARAGRAPH 5 段落图标 ANNOT_ICON_PARAGRAPH 6 插入图标 ANNOT_ICON_INSERT | 返回:integer ### `textAnnotSetOpened(open)` 声明:function 设置文本批注的初始展开或折叠状态 可见性:`public` | 参数 | 类型 | 说明 | | ------ | ------- | ---------------------------- | | `open` | boolean | 布尔值类型。注释初始绘制状态 | 返回:integer ### `setBorderStyle(subtype, width, dash_on, dash_off, dash_phase)` 声明:function 设置注释边框样式 可见性:`public` | 参数 | 类型 | 说明 | | ------------ | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | `subtype` | integer | 整数类型。边框样式类型 值 说明 对应接口(TSPDFEnumerations) 备注 0 实线 BS_SOLID 1 虚线 BS_DASHED 2 斜边 BS_BEVELED 3 内嵌 BS_INSET 4 下划线 BS_UNDERLINED | | `width` | real | 实数类型。边框宽度 | | `dash_on` | integer | 整数类型。虚线中的实线部分长度 | | `dash_off` | integer | 整数类型。虚线中的空白部分长度 | | `dash_phase` | integer | 整数类型。虚线绘制的初始位置 | 返回:integer