PDFium-aardio:高效、稳定的PDF处理工具
项目介绍
PDFium-aardio 是一个基于 Google 开源项目 Chromium 中的 PDFium 引擎开发的 PDF 处理工具。PDFium 作为福昕技术中的核心引擎代码,提供了强大的 PDF 解析、阅读、搜索、打印以及文档/表单填写功能。PDFium-aardio 在此基础上进行了封装,使得开发者能够更加便捷地使用这些功能,开发出高效的 PDF 应用。
项目技术分析
PDFium-aardio 的核心技术基于 PDFium,这是一个由 Google 维护的高性能 PDF 渲染引擎。PDFium 不仅支持 PDF 文件的解析和渲染,还提供了丰富的 API,使得开发者可以轻松实现 PDF 文件的编辑、合并、提取文本等操作。
在实际使用中,PDFium-aardio 的表现优于 Python 的著名项目 pdfminer,尤其是在处理带有签名的合同制式文件时,pdfminer 经常出现内容丢失的问题,而 PDFium-aardio 则表现稳定,且对中文支持良好。
项目及技术应用场景
PDFium-aardio 适用于多种应用场景,包括但不限于:
- PDF 阅读器开发:开发者可以利用
PDFium-aardio快速构建一个功能强大的 PDF 阅读器,支持缩放、搜索、打印等功能。 - PDF 文档处理:企业或个人用户可以使用
PDFium-aardio进行 PDF 文档的合并、拆分、提取文本等操作,提高工作效率。 - 表单填写:
PDFium-aardio支持 PDF 表单的填写,适用于需要自动化处理表单的场景。
项目特点
- 高性能:基于 PDFium 引擎,
PDFium-aardio提供了高效的 PDF 解析和渲染能力,处理速度快,性能稳定。 - 易用性:通过 aardio 语言封装,
PDFium-aardio提供了简洁易懂的 API,开发者可以快速上手,实现复杂的 PDF 处理任务。 - 中文支持:
PDFium-aardio对中文支持良好,能够准确解析和显示中文内容,适用于中文文档的处理。 - 功能丰富:除了基本的 PDF 阅读功能外,
PDFium-aardio还支持 PDF 的合并、文本提取、表单填写等高级功能,满足多样化的需求。
示例代码
以下是一些简单的示例代码,展示了如何使用 PDFium-aardio 进行 PDF 文件的加载、显示、文本提取和合并操作。
载入并显示 PDF
import win.ui;
/*DSG{{*/
var winform = win.form(text="PDF 简单绘图")
winform.add(
plus={cls="plus";left=11;top=8;right=742;bottom=453;db=1;dl=1;dr=1;dt=1;repeat="scale";z=1}
)
/*}}*/
//打开 PDF
import inet.http;
import fsys.pdfium;
var pdf = fsys.pdfium("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf")
//显示 PDF,自动支持 plus 控件的缩放模式
pdf.pageNum = 1;
winform.plus.background = pdf.asBitmap();
winform.show();
win.loopMessage();
提取树形目录
//加载目录
var bm = pdf.extractBookmarks()
mainForm.treeview.insertItem( bm.asTree() )
//树视图改变当前节点触发此事件
mainForm.treeview.onSelChanged = function(hItem,data,nmTreeView){
if(data){
pdf.pageNum = data.pageIndex;//设置当前页码,起始页码为 1
//wb 为 web.view 对象
wb.go("/a.pdf#page="+data.pageIndex)
mainForm.editPageNum.text = data.pageIndex;
}
}
提取某页文本
pdf.pageNum = 8; //设置当前页码,起始页码为 1
var text = pdf.extractText();
合并 PDF
import fsys.pdfium;
var pdf = fsys.pdfium("/a.pdf");
//导入另外一个 PDF,参数 @1 也可以是另外的 fsys.pdfium 对象。
pdf.importPages("/b.pdf",,"1-7,6,9");//导入 1-7,6,9 页,省略页码参数则导入所有页面
//保存 PDF
pdf.save("/c.pdf");
结语
PDFium-aardio 是一个功能强大且易于使用的 PDF 处理工具,无论是开发 PDF 阅读器还是进行复杂的 PDF 文档处理,它都能提供高效、稳定的支持。如果你正在寻找一个可靠的 PDF 处理解决方案,PDFium-aardio 绝对值得一试。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



