aardio 文档

fsys.pdfium 库模块帮助文档

项目主页

https://github.com/xuncv/PDFium-aardio

相关头文件: https://pdfium.googlesource.com/pdfium/+/refs/heads/main/public/ https://pdfium.googlesource.com/pdfium/+/refs/heads/main/public/fpdf_edit.h https://pdfium.googlesource.com/pdfium/+/refs/heads/main/public/fpdf_doc.h https://pdfium.googlesource.com/pdfium/+/refs/heads/main/public/fpdfview.h

fsys 成员列表 #

fsys.pdfium() #

返回对象:fsysPdfiumObject

fsys.pdfium(PDF路径或数据,PDF密码) #

创建或打开 PDF 解析文档对象。
参数 @1 可指定 PDF 文件路径或数据。
如果事先导入 inet.http,参数 @1 也可以指定 PDF 文件网址。
指定网址且下载 PDF 时不卡界面

fsys.pdfium 成员列表 #

基于 Google 开源组件 PDFium 封装的 PDF 解析库

fsys.pdfium.init() #

可选调用此函数初始化 PDFium 组件,
用法请参考函数源码与 PDFium 文档。
一般不必主动调用此函数

fsys.pdfium.lasterr() #

返回错误信息。
如果最后一次操作成功则返回 null

fsysPdfiumObject 成员列表 #

fsysPdfiumObject. #

function(statIndex,endIndex)

fsysPdfiumObject.asBitmap() #

当前页转换为 gdip.bitmap 对象

返回对象:gdipbitmapObject

fsysPdfiumObject.copyViewerPreferences(srcPdf) #

导入 PDF 设置。
srcPdf 指定要导入的 fsys.pdfium 对象,也可指定 PDF 路径或数据

fsysPdfiumObject.createPage(index,width,height) #

创建页面。
@index 指定页码,@width 指定宽,@height 指定高

fsysPdfiumObject.deletePage() #

删除参数 @1 指定页码的页面,起始页码为 1。
如果删除 pageNum 指定的页码则关闭当前页,且 pageNum 设为 0

fsysPdfiumObject.destroy() #

释放对象

fsysPdfiumObject.drawLine(x1,y1,x2,y2,strokeWidth,strokeColor) #

在当前页绘制线条。
(x1,y1) 为起点坐标,(x2,y2) 为终点坐标。
strokeWidth 为线条宽度,strokeColor 为线条颜色。
颜色支持 0xAARRGGBB 格式。

fsysPdfiumObject.drawRect(x,y,width,height,strokeWidth,strokeColor,fillColor) #

在当前页绘制矩形。
x, y 为左上角坐标。
strokeWidth 为边框宽度,strokeColor 为边框颜色,fillColor 为填充颜色。
颜色支持 0xAARRGGBB 格式。

fsysPdfiumObject.eachPageText(startPageNum,endPageNum) #

for pageNum,textContent in fsysPdfiumObject.eachPageText(){
    /*遍历所有页面文本。  
可选用 startPageNum,endPageNum 参数指定开始与结束页码。  
pageNum 为当前页码,textContent 为当前页文本内容。  
需要注意不是所有 PDF 页面都提供文本,有些只能转为图像。*/
}

fsysPdfiumObject.eachTextRect() #

for left,top,right,bottom,text in fsysPdfiumObject.eachTextRect(){
    /*遍历当前页文本区块。  
left,top,right,bottom 分别为左上右下位置。  
text 为文本*/
}

fsysPdfiumObject.extractBookmarks() #

提取目录,返回 fsys.pdfium.bookmark 对象。

返回对象:fsysfsysPdfiumBookmarkObject

fsysPdfiumObject.extractText(bgcolor) #

提取并返回当前页文本。
可选用参数 @bgcolor 指定背景色( 8888 ARGB 格式,0xAARRGGBB).默认为 0xFFFFFFFF。

fsysPdfiumObject.getMeta() #

获取 PDF 元数据。
返回包含 Title,Author,Subject,Keywords,Creator,Producer,CreationDate,ModDate 等字段的表对象。

fsysPdfiumObject.importPages(srcPdf,index,pageIndicesOrRange) #

导入并合并 PDF。
srcPdf 指定要导入的 fsys.pdfium 对象,也可指定 PDF 路径或数据。
@index 指定要插入的页码,不指定则添加到尾部。
@pageIndicesOrRange 可以指定页码数组,
也可以用字符串指定区间,示例:"1,3,5-7"。
省略 @pageIndicesOrRange 则导入所有页面

fsysPdfiumObject.insertBitmap(bitmap,left,top,width,height) #

插入图像到当前页面。
bitmap 可指定图像文件数据或路径,也可指定 gdip.bitmap 对象。
可选用参数 left, top, width, height 指定插入坐标与宽高。
需要注意这里需要指定相对于页面左上角的坐标(PDFium 默认坐标原点为左下角)。

fsysPdfiumObject.insertText(text,x,y,color,fontSize,font) #

在当前页插入文本。
text 为要插入的字符串。
x, y 为左上角坐标。
fontSize 为字号,默认为 12。
font 可以是 'Helvetica', 'Courier', 'Times-Roman' 等标准字体名,也可以是 loadFont 返回的字体句柄。
color 为文本颜色,支持 0xAARRGGBB 格式。

fsysPdfiumObject.loadFont(fontPath,fontType,isCid) #

加载嵌入字体文件(使用嵌入字体会增大 PDF 体积),建议指定 ttf 后缀的字体文件。
fontPath 为字体文件路径。
参数 fontType 默认为 2/*_FPDF_FONT_TRUETYPE*/,可指定为 1/*_FPDF_FONT_TYPE1*/
参数isCid 指定是否为 CID 字体(一般是中文字体),默认为 true 。
成功返回字体句柄,失败返回 null。返回的句柄在 pdfium 对象销毁时自动释放。

fsysPdfiumObject.pageCount #

获取页面总数,只读属性。

fsysPdfiumObject.pageHeight #

获取页面高度,只读属性。

fsysPdfiumObject.pageNum #

读取或设置当前活动页码,页码自 1 开始

fsysPdfiumObject.pageWidth #

获取页面宽度,只读属性。

fsysPdfiumObject.render #

窗口绘图

fsysPdfiumObject.render(hdcOrGraphics,x,y,cx,cy,rotate,flags) #

参数 @hdcOrGraphics 可指定 hdc 或 graphics 对象,
@x,@y 指定 x,y 坐标,@cx 指定宽,@cy 指定高。
@rotate 为 1 顺时针转 90 度,设为 2 转 180 度,设为 3 为逆时针转 90 度
@rotate 与 @flags 一般不必指定

fsysPdfiumObject.save #

保存 PDF 文件

fsysPdfiumObject.save(path,fileVersion,flags) #

保存 PDF 到文件,成功返回 true。
@path 指定文件路径。
可选用 @fileVersion 指定文件版本,15 表示版本 1.5。
@flags 为可选参数,一般不用指定,用法请参考 PDFium 文档

fsysPdfiumObject.saveAsCopy(callback,fileVersion,flags) #

fsysPdfiumObject.saveAsCopy( function(pWriter,pData,size){  
    /*保存 PDF 回调函数,其他为可选调用参数(不用管)。  
回调参数 pData 为要写入的内存指针,回调参数 size 为待写入长度。  
保存成功请返回非零数值,出错返回 0*/  
})

fsysfsysPdfiumBookmarkObject 成员列表 #

fsysfsysPdfiumBookmarkObject.asTree() #

返回书签树状数据表,返回对象可以用作 treeview 控件 insertItem 方法的参数。

fsysfsysPdfiumBookmarkObject.children() #

返回子节点数组,纯数组对象。

fsysfsysPdfiumBookmarkObject.pageIndex #

书签对应的 PDF 页码,页码自 1 开始

fsysfsysPdfiumBookmarkObject.title #

书签标题

全局常量

::PDFium #

fsys.pdfium 扩展库加载的 pdfium.dll 模块对象。

返回对象:dllModuleObject

自动完成常量

_FPDFBitmap_BGR=2
_FPDFBitmap_BGRA=4
_FPDFBitmap_BGRx=3
_FPDFBitmap_Gray=1
_FPDFBitmap_Unknown=0

Markdown 格式