Delphi PDF
llPDFLib,TPDFDocument
2016开始开源。
procedure TForm2.Button1Click(Sender: TObject);
var
lPdf : TPdfDocument;
lPage : TPdfPage;
begin
lPdf := TPdfDocument.Create;
try
lPdf.Info.Author := 'Tester';
lPdf.Info.CreationDate := Now;
lPdf.Info.Creator := 'Tester';
lPdf.DefaultPaperSize := psA4;
lPage := lPDF.AddPage;
lPDF.Canvas.SetFont('宋体',10.0,[]);
lPDF.Canvas.SetLeading(lPDF.Canvas.Page.FontSize);
lPDF.Canvas.SetLineWidth(0.1); lPdf.Canvas.BeginText;
lPdf.Canvas.TextOut( , , 'This is some text.');
lpdf.Canvas.TextOut(,,'你好');
lpdf.Canvas.TextOutW(,,'你好');
lPdf.Canvas.EndText;
lPdf.SaveToFile('test.pdf');
finally
lPdf.Free;
end; end;
llPDFlib3.6
llPDFlib5.2
V6.4.0.1389
http://www.sybrex.com/products/development/
http://www.sybrex.com/products/development/llpdflib/download.php
合作伙伴有trichview
SynPdf
1.18
http://blog.synopse.info/category/Open-Source-Projects/Synopse-PDF-engine
HotPDF,VisPDFLib
10.1,收费的
http://www.loslab.com/HotPDF.html
10/19/2015
llPDFLib Releases Its Version 6.0
Delphi library for creating PDF documents on the fly was released.
Whats new:
JBIG2 Compression for b/w images
Digital signatures
Some changes in engine
PDFCreator
http://www.pdfforge.org/
eDocEngine(gtPDFEngine)
gtPDFEngine,eDocEngine VCL 5.0.0.81,2016.8.3
PDFtoolkit VCL 打印和阅读
TgtPDFDocument, TgtPDFOutlineViewer, TgtPDFPrinter, TgtPDFSearchPanel, TgtPDFViewer
http://www.gnostice.com/eDocEngine%5FVCL.asp
http://www.gnostice.com/nl_article.asp?id=83&t=How_To_Convert_Image_Files_To_PDF_Using_eDocEngine_VCL
http://www.gnostice.com/nl_article.asp?id=213&t=How_To_Convert_XML_To_PDF_Using_Delphi
https://www.gnostice.com/nl_article.asp?id=244&t=Export_From_TRichView_and_ScaleRichView_To_PDF_And_Other_Formats
https://www.gnostice.com/nl_article.asp?id=126&t=Exporting_TRichView_(_RVF)_Files_to_PDF_Using_eDocEngine_VCL
印度Gnostice制造
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute() then begin
Edit1.Text := OpenDialog1.FileName;
SRichViewEdit1.Clear;
SRichViewEdit1.RichViewEdit.LoadRTF(Edit1.Text);
SRichViewEdit1.Format;
end;
end; procedure TForm1.Button2Click(Sender: TObject);
begin
gtPDFEngine1.FileName := OpenDialog1.FileName + '.pdf';
gtScaleRichViewInterface1.RenderDocument(SRichViewEdit1);
end;
html转pdf
HtmlViewer1,gtHtmlViewInterface1,gtPDFEngine1;3个控件
HtmlViewer1.LoadFromFile('test.html');
gtHtmlViewInterface1.Engine := gtPDFEngine1;
gtPDFEngine1.Preferences.ShowSetupDialog := False;
gtPDFEngine1.Preferences.OpenAfterCreate := False;
gtPDFEngine1.FileName := 'test.pdf';
gtHtmlViewInterface1.RenderDocument(HtmlViewer1);
ThtmlViewer
http://www.pbear.com/
Delphi PDF的更多相关文章
- Delphi Pdf的使用方法
此方法安装了llPDFLib.v3.6 控件.对pdf左侧.右侧正文进行了操作. procedure TForm1.Button1Click(Sender: TObject); var node,nd ...
- Delphi提取PDF文本
生成PDF的控件很多,但解析的不是太多,pdf Toolkit可以,但测试的第一个复杂的pdf就报告错误,并且汉字乱码,可能使用的版本或使用方法不对. 想起之前使用java调用的Apache名下的pd ...
- delphi使用Foxit Quick PDF Library读写pdf文本和图片
简介: Debenu Quick PDF Library(PDF编程开发工具)提供一套全方位的 PDF API 函数,帮助您快速简便地处理 PDF 文件.从文档属性的基本操作到创建您自己的 PDF 查 ...
- delphi模拟按键精灵自动控制PDF页面自动扩边的源代码
需要的环境:Adobe Acrobat 7.0 Professional 和 Quite Imposing Plus 1.5d Acrobat plugin (qi160.exe) 程序界面: ...
- Coding in Delphi(前4章翻译版本) (PDF)
第四章翻译完成有一段时间了 写在前面的话 本次翻译纯属爱好,目的是提高对英文文档的理解和阅读能力,本文档大部分采用直 译的方式,而且保留了原来的英文.目的只是辅助大家理解,不喜勿喷.翻 ...
- Delphi系列书籍pdf 118本 网友吐血整理
第一步:进入官网首页http://bulo.hujiang.com/home/ 第二部:home/替换u/779988/diary/627936/ 来自沪江部落
- Delphi使用AcroPDF ActiveX显示PDF文件
效果展示 调用方式 放入窗体即可使用,不想安装太多组件,可使用纯代码方式调用 interface ..... var AcroPDF: TAcroPDF; .... implementation .. ...
- ArcEngine地图窗口指定区域导出指定DPI多格式---delphi/C#实现
delphi/C#实现,其他语言稍微改下就行了.AE的编码各个语言都差不多,这里也没用到某一语言的特性. 函数特点: 1.可以精确导出指定范围的图形要素 2.支持多格式.TIF, .EMF,.GIF, ...
- delphi 10 seattle 安卓服务开发(三)
delphi 10 里面的安卓服务有四种,上面的一篇文章里面的图有介绍. 今天做一个remote service 的例子.(里面一部分代码是抄别人的,如果不太清楚,自行恶补) remote servi ...
随机推荐
- 006——VUE中的内容与属性中使用javascript表达式的方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- window.location.href无法跳转
onclick事件存在事件冒泡 所以要阻止它冒泡 解决:在onclick事件里添加return false阻止冒泡:onclick="window.location.href='XXXXX. ...
- 假如数组接收到一个null,那么应该怎么循环输出。百度结果,都需要提前判断。否则出现空指针异常。。我还是想在数组中实现保存和输出null。
假如数组接收到一个null,那么应该怎么循环输出.因为foreach与obj.length都会报错.null不是对象,foreach中不能赋值? sp页面forEach一个存放对象的集合,怎么判断其中 ...
- http keep - alive 与 长连接
http1.0 2.0 1.1区别 你可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁,它和 HTTP 有一些共性,是为了解决 HTTP 本身无法解决的某些问题而做出的 ...
- android源码下载以及编译自己的ROM
android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...
- FFmpeg再学习 -- 视音频基础知识
最近一直在看雷霄骅 FFmpeg 系列视频,然后将自己的理解总结一下. 参看:<基于 FFmpeg + SDL 的视频播放器的制作>课程的视频 一.视频播放器原理 自己理解: 比如一个 M ...
- 使用BloomFilter布隆过滤器解决缓存击穿、垃圾邮件识别、集合判重
Bloom Filter是一个占用空间很小.效率很高的随机数据结构,它由一个bit数组和一组Hash算法构成.可用于判断一个元素是否在一个集合中,查询效率很高(1-N,最优能逼近于1). 在很多场景下 ...
- js 扩展实例
//扩展实例1 字符串中首字符转大写 var test=' this is '; String.prototype.mytrim=function(){ var re=/^\s+(.*?)\s+$/; ...
- HTTP 方法:GET与 POST
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客户机与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用程 ...
- 模仿Masonry链式编程思想
使用masonry 也将近一年多了,它的链式编程方式一直是很吸引我的. 之前一直没空好好思考它是如何实现,直到现在正好自己有空,因此写下链式编程的基本思路. 链式基本的编程形式如 a.property ...