在Delphi中使用Quick PDF Library Lite

简介

  • Debenu Quick PDF Library是一个功能强大的PDF操作库,可以中添加处理PDF文件的功能,如创建,渲染,打印,密码安全,合并,分割和操作PDF文件。它包含超过900个函数,支持C,C++,C#,Delphi,Objective-C,Python,PHP,Visual Basic,VB.NET,ASP,PowerBASIC,Pascal和其它语言,包括了ActiveX,DLL,LIB,Delphi和Dylib等版本。
  • Debenu Quick PDF Library Lite是其免费精简版,可在应用程序中免费使用和发布,限制如下。

License definition

The full end user license agreement for Debenu Quick PDF Library Lite can be read [online here]>>(http://www.quickpdflibrary.com/products/quickpdf/license.php), but to give you a rough idea of how you can and can't use Debenu Quick PDF Library Lite, here's a few key points:

  • Free. You can use Debenu Quick PDF Library Lite in your applications without needing to pay a licensing fee or any royalty fees for distribution.
  • No reselling. You are not allowed to resell Debenu Quick PDF Library or your license key, but you can embed the software in your application, or distribute it with your system.
  • Compiled applications only. You are not permitted to create your own PDF software libraries using Debenu Quick PDF Library.
    精简版可使用的函数可以参考安装目录中的Debenu Quick PDF Library 11.14 Reference Guide.pdf中Lite Edition Functions列表

下载和安装

首先到官网下载该库,官网地址为:https://www.debenu.com/blog/category/quick-pdf-library-lite。找不到可以从下面这个地址下http://www.quickpdflibrary.com/free/lite.php
下载所需版本的安装文件http://www.debenu.com/downloads/installers/debenu_quick_pdf_library_lite_en.exe?_ga=2.99056022.909023250.1680680730-1863846514.1680680730
下载后得到一个exe文件:debenu_quick_pdf_library_lite_en.exe。双击exe文件即可安装控件库,安装完成后打开刚才所选择的目录,可以看到以下目录与文件(跟下载的版本有关系)。

[Import]
[Samples]
Debenu Quick PDF Library 11.14 Reference Guide.pdf
DebenuPDFLibrary64Lite1114.dll
DebenuPDFLibrary64Lite1114.tlb
DebenuPDFLibraryLite1114.dll
DebenuPDFLibraryLite1114.tlb
GettingStarted.pdf
license.pdf
readme.txt
reasons_to_upgrade.pdf
uninstall.exe

包含32位和64位两个DLL。
使用前先注册需要使用的DLL:
已以管理员身份运行CMD,输入regsvr32 DebenuPDFLibraryLite1114.dll(使用实际下载和使用的DLL名称)注册。
运行Delphi,Component → Import Componet → Import a Type Library → next → 选择 Debenu Quick PDF Library → next → 填写所需信息(默认值不改也可以) → Create unit即可 ,生成名称形如:ebenuPDFLibraryLite1114_TLB.pas
新建项目,在project点右键 → Add 添加刚生成的单元。

Hello world

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,System.Win.ComObj,
  DebenuPDFLibraryLite1114_TLB;

type
  TForm1 = class(TForm)
    btn1: TButton;
    btn2: TButton;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
var
  pdf: PDFLibrary;
  pid: Integer;
  mm: Double;
begin
 // 创建mm单位,72dot/inch
  mm:= 72/25.4;
  pdf:= CoPDFLibrary.Create as PDFLibrary;
  pid:= pdf.NewDocument;
  pdf.DrawText(10*mm,10*mm,'test');
  pdf.DrawQRCode(20*mm,50*mm,30*mm,'qrcode sample测试',0,0);
  pdf.SaveToFile('d:\1.pdf');
  pdf:= nil;
end;

procedure TForm1.btn2Click(Sender: TObject);
var
  pdf: PDFLibrary;
  pid: Integer;
  mm: Double;
  path: string;
  picname:string;
begin
  path:= ExtractFilePath(Application.ExeName);
  mm:= 72/25.4;
  pdf:= CoPDFLibrary.Create as PDFLibrary;
  pdf.LoadFromFile('d:\1.pdf','');
  pdf.DrawText(50*mm,100*mm,'read and write pdf');
  picname:= path+'1.bmp';
  ShowMessage(picname);
// 正常模式载入图片
  pid:= pdf.AddImageFromFile(path+'1.bmp',0);
  pdf.DrawImage(20*mm,50*mm,30*mm,10*mm);
// 载入图片包含Alpha通道,可包含透明度,透明背景
  pid:= pdf.AddImageFromFile(path+'2.png',2);
  pdf.DrawImage(40*mm,30*mm,30*mm,10*mm);
  pdf.SaveToFile('d:\1.pdf');
  pdf:=nil;
end;

// 下面这个是在网上找到的方法
// https://www.thoughtco.com/delphi-developers-quick-pdf-library-lite-3972284
// 这个不需要Delphi Import Component,导入tlb库,只需要Regsvr32注册DLL,可以直接用,不过没有动态提示,不如上面方法使用方便
// 需Use ComObj
procedure TForm1.btn3Click(Sender: TObject);
var
  QP: Variant;
begin
  QP:= CreateOleObject('DebenuPDFLibraryLite1114.PDFLibrary');
  QP.DrawText(100,100,'hello world!');
  QP.SaveToFile('d:\2.pdf') ;
  QP:= Unassigned;
end;

end.

在Delphi中使用PDF浏览

参考 https://www.thoughtco.com/adobe-acrobat-pdf-files-delphi-applications-1056893
可以导入Abobe pdf reader 或者 Foxit PDF reader 位为ActiveX控件,在程序中使用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容

  • C++ 开源库列表https://en.cppreference.com/w/cpp/links/libs[htt...
    老陕西阅读 2,008评论 0 0
  • Foxit Quick PDF Library破解版是一款功能强大的PDF编程控件,软件能够帮助用户快速的处理PD...
    skycht阅读 226评论 0 0
  • Getting Started Use the Current Stable Version (7.1) Buil...
    Leonzai阅读 1,930评论 0 3
  • 注:该篇文章摘自于github.com/vhf/free-programming-books,英文版。访问该项目获...
    stuha阅读 3,897评论 0 13
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,360评论 2 44