简介:

Debenu Quick PDF Library(PDF编程开发工具)提供一套全方位的 PDF API 函数,帮助您快速简便地处理 PDF 文件。从文档属性的基本操作到创建您自己的 PDF 查看器和 PDF 编辑器,这款软件满足您的所有需求。Quick PDF Library是一款供 PDF 开发人员使用的 SDK,功能强大、无需版税,其中包括超过500个函数,可用于 Delphi、C、C#、C++、ASP、VB6、VB.NET、VBScript、PHP、PowerBASIC 等,使用 ActiveX、DLL、LIB 或 Delphi 版本的库

官方帮助文档:https://www.debenu.com/docs/pdf_library_reference/FunctionGroups.php

可以参考(提取文本和图像并插入新PDF):http://quickpdf.org/forum/extract-text-and-images-and-insert-into-new-pdf_topic1308.html

安装:  

首先到官网下载该库,官网地址为:http://www.debenu.com/。本文所使用的版本为11.11,下载后得到一个exe文件:foxit_quick_pdf_library_en.exe。双击exe文件即可安装控件库,安装过程中会要求输入安装目录,选择合适的目录完成安装。

文件GettingStarted.pdf介绍了在使用该控件库之前需要做的一些准备工作。首先以管理员身份运行命令提示符并切换到安装目录下,然后输入以下命令完成控件的注册。(我这里安装了两个版本所以有1131的版本)

接着把DebenuPDFLibraryDLL1111.dll、DebenuPDFLibraryDLL1111.pas 添加到Delphi项目中

实例程序

程序记得uses DebenuPDFLibraryDLL1111

unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, SynPdf, StdCtrls, DebenuPDFLibraryDLL1111;typeTForm1 = class(TForm)btn1: TButton;edt1: TEdit;edt2: TEdit;lbl1: TLabel;procedure btn1Click(Sender: TObject);procedure FormCreate(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}// 读取pdf文本内容以及图片
function ReadPdf(const fileName, saveImagePath: string; var text: string;var imageFiles: string): string;
varrPdf: TDebenuPDFLibraryDLL1111;imageCount, i, j, num, keyStatus, FH, PR: Integer;
beginResult := '';num := 0;if Trim(fileName) = '' thenbeginResult := 'Path cannot be empty';Exit;end;if (Trim(saveImagePath) <> '') and (not DirectoryExists(saveImagePath)) thenbeginForceDirectories(saveImagePath); // 创建目录end;rPdf := TDebenuPDFLibraryDLL1111.Create('DebenuPDFLibraryDLL1111.dll'); // 库keyStatus := rPdf.UnlockKey('**********'); // 密钥 秘钥可以购买或者找我要if keyStatus <> 1 thenbeginResult := 'The library cannot be loaded or unlocked fails';Exit;end;tryrPdf.LoadFromFile(Trim(fileName), '');// 以直接访问模式打开文件并存储文件句柄FH := rPdf.DAOpenFile(fileName, '');for i := 1 to rPdf.DAGetPageCount(FH) dobeginrPdf.SelectPage(i); // 选区页text := text + rPdf.GetPageText(8); // 获取文本 8:更准确的文本提取算法if Trim(saveImagePath) <> '' thenbeginimageCount := rPdf.GetPageImageList(0); // 获取图片for j := 1 to rPdf.GetImageListCount(imageCount) do // 遍历当前页中的所有图片beginrPdf.SaveImageListItemDataToFile(imageCount, j, 0,saveImagePath + '\' + IntToStr(num) + '.png');imageFiles := imageFiles + saveImagePath + '\' + IntToStr(num)+ '.png ; ';inc(num);end;end;end;finallyrPdf.Free;end;
end;// 写pdf
function WritePdf(const fileName, text: string): string;
varwPdf: TDebenuPDFLibraryDLL1111;num, wStatus: Integer;
beginResult := '';if Trim(fileName) = '' thenbeginResult := 'Path cannot be empty';Exit;end;trywPdf := TDebenuPDFLibraryDLL1111.Create('DebenuPDFLibraryDLL1111.dll'); // 库trywStatus := wPdf.UnlockKey('*************'); // 密钥 if wStatus = 1 thenbeginnum := wPdf.AddTrueTypeSubsettedFont('FangSong', text, 0);wPdf.SelectFont(num);wPdf.DrawWrappedText(50, 750, 500, text);wPdf.SaveToFile(fileName);endelsebeginResult := 'The library cannot be loaded or unlocked fails';end;finallywPdf.Free;end;excepton e: Exception doResult := e.Message;end;
end;procedure TForm1.btn1Click(Sender: TObject);
vartext, imageFiles: string;
begintext := '';imageFiles := '';// showmessage(WritePdf(edt1.Text,edt2.Text));
  ShowMessage(ReadPdf(edt1.text, edt2.text, text, imageFiles));lbl1.Caption := text;ShowMessage(text);ShowMessage(imageFiles);
end;procedure TForm1.FormCreate(Sender: TObject);
begin//readAndWritePDf();
end;end.

运行:

提取的:

原本pdf:

转载于:https://www.cnblogs.com/hhmm99/p/10850069.html

delphi使用Foxit Quick PDF Library读写pdf文本和图片相关推荐

  1. 使用免费组件给PDF文档添加文本和图片页眉

    C#/.NET 使用免费组件给PDF文档添加文本和图片页眉 如今PDF文档与Office文档一样成为了一种通用文档,在日常工作中我们经常会碰到需要给PDF文件添加页眉和页脚/页码等情况,如果你正好是喜 ...

  2. Haru Free PDF Library——生成PDF的库

    PDF是我们极其常用的文件格式,但对如何生成PDF,个人一直觉得很神秘,其实利用一些公开的PDF库,我们就可以直接生成PDF文件,而不用关注PDF文件的内部细节.我知道的PDF库有如CARIO和HAR ...

  3. Acrobat Pro DC 教程:如何编辑 PDF 文件中的文本和图片?

    欢迎观看 Acrobat Pro DC 教程,小编带大家学习 Acrobat Pro DC 的基本工具和使用技巧,了解如何使用 Acrobat Pro DC 轻松快捷地编辑PDF 文档中的文本和图片. ...

  4. big java 中文版_Big Faceless Java PDF Library

    Big Faceless Java PDF Library是一个敏捷的Java类库,用于创建.编辑.显示和打印Acrobat PDF文档.它提供的PDI API函数灵巧而快捷,方便您在您的工程中使用, ...

  5. 在MFC项目中使用Quick PDF Library Lite读写pdf文件

    简介 安装 示例程序 Hello World Draw Text Fonts and Text Set Document Properties Image to pdf Add hyperlink t ...

  6. Big Faceless PDF Library大型机的任何Java平台运行

    Big Faceless PDF Library大型机的任何Java平台运行 Big Faceless PDF Library 是一个 PDF 库,用于创建.编辑.显示和打印 Acrobat PDF ...

  7. pdf阅读器下载支持win7_福昕PDF阅读器(Foxit Reader)下载|福昕PDF阅读器(Foxit Reader) 9.6.1.25160 官方版...

    小编留意过关于这款软件的反馈意见,可能大部分都不是软件的问题,而是很多网站并没有把好用的版本上传,还有用户电脑适配的问题,这些需要多有留意. 福昕PDF阅读器(Foxit Reader)功能特色: 软 ...

  8. Big Faceless Java PDF Library[bfopdf]

    用于创建.编辑.显示和打印 Acrobat PDF 文档的最智能的 PDF 库.PDF API 体积小.速度快.易于使用并集成到您的项目中,并且完全用 Java 编写. 产品概览 PDF 库读取和写入 ...

  9. Big Faceless Java PDF Library[BFO]

    Big Faceless Organization (BFO)是KSM有限公司的贸易名称,是一家英国的私营公司.我们为国际性的企业对企业的电子商务市场开发高质量的Java软件组件.BFO成立于1998 ...

最新文章

  1. win10如何设置麦克风?
  2. 启明云端分享|sigmastar SSW101B WiFi 非信令测试说明
  3. UVA225Golygons 黄金图形
  4. java字符串与数组比较大小_java-如何将存储在数组中的字符串与简单字符串进行比较?...
  5. 新研究表明 深层神经网络的功能存在局限性
  6. 云+X案例展 | 传播类:富通云腾加速联通云数字化转型步伐
  7. 字节跳动全资收购北京麦田?回应称只收购了麦田旗下一家公司
  8. iOS 手记 - 计算文字高度/宽度:- (CGSize)sizeWithAttributes:(NSDictionaryNSString *,id *)attrs...
  9. vue dve环境static无法被外部访问_vue项目性能优化(代码层面)
  10. MySQL导入数据出错
  11. dude由于目标计算机,The Dude的教程
  12. Linux学习笔记(更新中)
  13. 板材品牌之生态板吊顶好还是桑拿板好
  14. node.js如何升级
  15. 火狐浏览器安全连接失败解决办法
  16. 和李兄之《定风波· 冬峦轻寒桂落香》一首
  17. 机器人图形变变变_中班数学活动——图形变变变 教案
  18. 第10章两个独立样本的t检验
  19. Apple ID,APP ID,Bundle ID,iOS Certificates,iOS Provisioning Profiles各自含义以及之间的关系
  20. CAD图层亮度的设置

热门文章

  1. 使用Visual Studio Code编写markdown文件以及转成PDF格式和markdown常用语法
  2. 沧小海笔记本之xilinx srio核的学习记录之目录
  3. html网站设计基础
  4. 如何打造极速F1赛事?乐视云用六路信号还原比赛现场
  5. itunes无法安装到win7系统更新服务器,Win7旗舰版电脑无法安装itunes怎么办
  6. LT8522EX 是 Lontium 的矩阵开关芯片基于两路输入,输出 (VGA 和 HDMI)
  7. SpringCloud Gateway 重试路由器的过滤器
  8. ui设计现状与意义_UI设计的现状如何?
  9. sklearn中实现多分类任务(OVR和OVO)
  10. 58到家数据库30条军规解读(58沈剑)