此方法安装了llPDFLib.v3.6 控件、对pdf左侧、右侧正文进行了操作。

procedure TForm1.Button1Click(Sender: TObject);
var node,nd1:TPDFOutlineNode;
PW,ph:integer;
bmp:TBitmap;
begin
bmp:=TBitmap.Create;
bmp.LoadFromFile('d:\4601.bmp');
sPdf:=TPDFDocument.Create(nil);
//pdf文档信息
sPdf.DocumentInfo.CreationDate:=Now;
sPdf.DocumentInfo.Producer:='Producer';
sPdf.DocumentInfo.Author:='Author';
sPdf.DocumentInfo.Creator:='Creator';
sPdf.DocumentInfo.Keywords:='Keywords';
sPdf.DocumentInfo.Subject:='subject';
sPdf.DocumentInfo.Title:='Title'; sPdf.FileName:='d:\tt.pdf';
sPdf.Compression:=ctFlate;
spdf.OwnerPassword:='123';
sPdf.ProtectionEnabled:=True;
sPdf.PageMode:= pmUseOutlines;
sPdf.AutoLaunch:=true;
sPdf.PageLayout:=plSinglePage; sPdf.BeginDoc;
node:=sPdf.Outlines.Add(nil,'目录1',TPDFGoToPageAction.Create,GB2312_CHARSET);
node.Expanded:=True;
TPDFGoToPageAction(node.Action).PageIndex:=0;
nd1:=sPdf.Outlines.AddChild(node,'第一章',TPDFGoToPageAction.Create,GB2312_CHARSET);
nd1.Expanded:=true;
TPDFGoToPageAction(nd1.Action).PageIndex:=0;
pw:=sPdf.PageWidth;
ph:=sPdf.PageHeight;
sPdf.CurrentPage.SetActiveFont('黑体',[fsUnderline],50,GB2312_CHARSET);
with sPdf do
begin
Canvas.Font.Size:=50;
Canvas.Font.Color:=clRed;
Canvas.Font.Style:=[fsBold,fsUnderline];
Canvas.MoveTo(0,10);
Canvas.LineTo(PW,10);
SetTextAlign(sPdf.Canvas.Handle, TA_CENTER or TA_TOP); //居中
Canvas.TextOut(Round(pw/2),30,'新的故事就要开始了');
Canvas.TextOut(50,30,IntToStr(pw)+','+inttostr(ph));
Canvas.MoveTo(0,50);
Canvas.LineTo(PW,50);
Canvas.Draw(100,100,bmp);
end;
sPdf.NewPage;
nd1:=sPdf.Outlines.AddChild(node,'第二章',TPDFGoToPageAction.Create,GB2312_CHARSET);
nd1.Expanded:=true;
TPDFGoToPageAction(nd1.Action).PageIndex:=1;
sPdf.EndDoc;
sPdf.Free;
bmp.Free;
end;

  

Delphi Pdf的使用方法的更多相关文章

  1. Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息

    Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息 http://www.cnblogs.com/zhwx/archive/2012/08/28/266055 ...

  2. [delphi]indy idhttp post方法

    网易 博客 LOFTCam-用心创造滤镜 LOFTER-最美图片社交APP 送20张免费照片冲印 > 注册登录  加关注 techiepc的博客 万事如意 首页 日志 LOFTER 相册 音乐 ...

  3. Delphi的移动文件方法(转)/删除文件:/文件的复制

    RenameFile,DeleteFile,MoveFile Delphi的移动文件方法 uses  ShellApi; procedure ShellFileOperation(fromFile: ...

  4. delphi操作文本文件的方法简介

    delphi操作文本文件的方法简介减小字体 增大字体 作者佚名来源不详发布时间2008-5-31 10:31:16发布人xuedelphi1 文件类型和标准过程       Delphi同Object ...

  5. PHP制作pdf文档方法

    原文:PHP制作pdf文档方法 本篇博客是在看完 php+mysql web书以后自己的测试代码,虽然是测试代码,但不是简单的粘贴复制,为了学习thinkPHP框架,自己就用这个来做的,而且这本书已经 ...

  6. 怎么编辑PDF文件内容,PDF文件编辑方法

    怎样编辑PDF文件内容?这是一个常常困扰我们的问题,工作当中我们经常会收到PDF格式的文件,但有时的文件内容不是我们想要的或者是觉得不合理的需要改掉.但是每次有这样的问题时都没有什么好的解决方法,每次 ...

  7. PDF文件怎么修改,PDF文件编辑方法

    PDF文件是一种独特的文件,在日常办公中已经成为我们使用最广泛的电子文档格式.在使用PDF文件中会遇到PDF文件有错区的时候,再从新制作一个PDF文件会比较麻烦,只能通过工具来对PDF文件进行修改,这 ...

  8. [.NET开发] C#使用doggleReport生成pdf报表的方法

    本文实例讲述了C#使用doggleReport生成pdf报表的方法.分享给大家供大家参考,具体如下: 1. 安装nuget -install package DoddleReport -install ...

  9. PDG转图像、PDF的若干方法

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2006.05.26更新:2008.08.24 补充说明:此文成文较早,其中对Pdg2Pic.FreePic2Pdf的描述早已 ...

随机推荐

  1. [翻译]JUnit 5 用户手册

    为了系统的学习下 JUnit 5, 因此开始翻译 JUnit 5 官方用户手册, 谢谢关注! 本手册翻译自 5.0.0-M4 版本. 若感兴趣, 可 star 或 fork 该仓库! GitHub: ...

  2. 复选框input:checkbox

      复选框 CreateTime--2017年6月5日14:04:55Author:Marydon 五.复选框 (一)语法 <input type="checkbox" /& ...

  3. 基于STC12C5A的MINI3216多功能点阵时钟

    代码地址如下:http://www.demodashi.com/demo/12862.html 基于STC12C5A的MINI3216多功能点阵时钟 硬件详解 PCB 硬件原理图 主控模块 max72 ...

  4. HTTP请求报文属性详解

    HTTP请求报文组成:请求行+请求头+请求体 注意:请求体和URL都可以传递请求参数. 常见请求头属性: 1.Accept  作用:浏览器客户端用来告诉服务端能接受什么类型的响应. 例如:  Acce ...

  5. 原生js实现文字无缝向上滚动效果

    在网上查找到了一个实现文字无缝向上滚动效果的源码,结果发现运行有问题,于是就稍加改动,实现了js无缝向上滚动的效果. <script> window.onload = roll(50); ...

  6. C# Enum,Int,String,之间及bool与int之间的转换

    枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值. Enum 提供一些实用的静态方法: (1)比较枚举类的实例的方法 (2)将实例的值转换为其字符串表示形式的方法 (3)将数字的 ...

  7. javascript 中对象的拷贝

    http://blog.csdn.net/i10630226/article/details/52431562 在javascript中,对象都是值引用,也就是说,如果你常规的使用 "=&q ...

  8. unity,实现屏幕后处理的两种方法

    方法一: Main Camera的Target Texture保持为None.挂一个Blit脚本,在其中的OnRenderImage中调用Graphics.Blit(sourceTexture,des ...

  9. poj 3666 河南省第七届程序设计D题(山区修路)

    题目大意: 给定一个序列,以最小代价将其变成单调不增或单调不减序列,求最小的变动价值:需要用到离散化dp 状态转移方程: dp[i][j]=abs(j-w[i])+min(dp[i-1][k]);(k ...

  10. KMP hihoCoder1015 KMP算法

    人太蠢,,看了一天的KMP.. 刚開始看训练指南的,,后来才惊奇的发现原来刘汝佳写的f数组并非Next数组! 总认为和之前看过的全然不一样.. . 后来又百度了一下KMP,研究了非常久,然后用自己的逻 ...