Files
playbook/skills/tsl-api-reference/references/codegen/module/pdf-file.md
T

84 KiB
Raw Blame History

第三方交互 / PDF

PDFFile

声明:class

表示 PDF 文档对象,用于管理页面、字体、图像、文档属性并保存 PDF 文件

addPage()

声明:function

在当前 PDF 最后一页添加一个新页面

可见性:public

返回:pdf_page

insertPage(page)

声明:function

在指定页面前插入一个新页面

可见性:public

参数 类型 说明
page pdf_page PDFPage 对象类型,页面对象

返回:pdf_page

示例

范例01:插入页面并检查结果

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:调用示例

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:调用示例

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:调用示例

PDF := new PDFFile();
    return PDF.SetPageLayout(1);
    //设置成功,返回0

getPageLayout()

声明:function

获取当前 PDF 的页面布局。未设置时,其默认值为 6(PAGE_LAYOUT_EOF)

可见性:public

返回:integer

示例

范例01:调用示例

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:调用示例

PDF := new PDFFile();
    return PDF.SetPageMode(1);
    //设置成功,返回0

getPageMode()

声明:function

获取当前 PDF 的页面显示模式

可见性:public

返回:integer

示例

范例01:调用示例

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:调用示例

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 值为 540 bit);当 mode 为 3 时,keyLength 值可以设置为 540 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:调用示例

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 实数类型。缩放比例,默认值为 10010 <= 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