生成PDF文档之iText
- iTextSharp.text.Document:这是iText库中最常用的类,它代表了一个pdf实例。如果你需要从零开始生成一个PDF文件,你需要使用这个Document类。首先创建(new)该实例,然后打开(open)它,并添加(add)内容,最后关闭(close)该实例,即可生成一个pdf文件。
- iTextSharp.text.Paragraph:表示一个缩进的文本段落,在段落中,你可以设置对齐方式,缩进,段落前后间隔等。
- iTextSharp.text.Chapter:表示PDF的一个章节,他通过一个Paragraph类型的标题和整形章数创建。
- iTextSharp.text.Font:这个类包含了所有规范好的字体,包括family of font,大小,样式和颜色,所有这些字体都被声明为静态常量。
- iTextSharp.text.List:表示一个列表;
- iTextSharp.text.List:表示一个列表;
- iTextSharp.text.Anchor:表示一个锚,类似于HTML页面的链接。
- iTextSharp.text.pdf.PdfWriter:当这个PdfWriter被添加到PdfDocument后,所有添加到Document的内容将会写入到与文件或网络关联的输出流中。
- iTextSharp.text.pdf.PdfReader:用于读取PDF文件;

给PDF文件设置文件属性
//设置属性
//标题
document.AddTitle("this is a title");
//作者
document.AddAuthor("H__D");
//主题
document.AddSubject("this is subject");
//关键字
document.AddKeywords("Keywords");
//创建时间
document.AddCreationDate();
//应用程序
document.AddCreator("hd.com");
PDF中添加图片
//输出图片到PDF文件
iTextSharp.text.Image jpeg01 = iTextSharp.text.Image.GetInstance("D:\\work\\YIQI\\jiaju.jpg");
jpeg01.Alignment = Element.ALIGN_CENTER;
//设置边框
jpeg01.Border = iTextSharp.text.Image.BOX;
jpeg01.BorderWidth = ;
jpeg01.BorderColor = BaseColor.RED;
//设置图片大小
/* ScaleToFit有两个参数,指的是长和宽的最大值,但是图片的长宽比还是不会变的
* ScaleAbsoluteHeight设置图片的高度,不管长宽比
* ScaleAbsoluteWidth设置图片的宽度,不管长宽比
* ScalePercent等比例缩放
*/
// image.ScaleToFit(1000, 1000);
// image.ScaleAbsoluteHeight(100f);
// image.ScaleAbsoluteWidth(100f); //设置图片位置的x轴和y周
//jpeg01.SetAbsolutePosition(100f, 550f);
//设置图片的宽度和高度
jpeg01.ScaleAbsolute(, );
document.Add(jpeg01);
输出段落文本
//按设置的字体输出文本
var paragraph = new Paragraph(@"安装Adobe Acrobat 8 Pro,本人安装的是8.1.2版本,在你的安装目录下
(例如我自己的:C:\Program Files\Adobe\Acrobat 8.0\PDFMaker\Common\)common目录中找到PDFMakerAPI.dll程序集,
拷贝出到项目中放DLL的文件夹(此文件夹为用户保存DLL文件的文件夹,名称以自己项目为准),并在项目里对其添加引用。!!!", FontChinese);
paragraph.IndentationLeft = 30f;
paragraph.IndentationRight = 30f;
paragraph.Alignment = Element.ALIGN_LEFT;
paragraph.FirstLineIndent = 30f;
document.Add(paragraph);
添加anchor
//设置一个坐标点,用于goTop定位
Anchor topLine = new iTextSharp.text.Anchor("This name is US");
topLine.Name = "US";
document.Add(topLine); document.Add(Chunk.NEWLINE);
//链接到百度
Anchor anchor = new iTextSharp.text.Anchor("This is Anchor");
anchor.Reference = "http://www.baidu.com";
document.Add(anchor);
添加表格
PdfPTable table = new PdfPTable();
for (int i = ; i < ; i++)
{
table.AddCell(new Phrase("gogogo测试", FontBlue));
}
document.Add(table);
添加List
List orderedList = new List(List.ORDERED);
orderedList.Add(new ListItem("Item one"));
orderedList.Add(new ListItem("Item two"));
orderedList.Add(new ListItem("Item three"));
document.Add(orderedList);
生成的效果:

生成PDF文档之iText的更多相关文章
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
- 自动把动态的jsp页面(或静态html)生成PDF文档,并且上传至服务器
置顶2017年11月06日 14:41:04 阅读数:2311 这几天,任务中有一个难点是把一个打印页面自动给生成PDF文档,并且上传至服务器,然而公司框架只有手动上传文档,打印时可以保存为PDF在本 ...
- 手把手教你使用 Java 在线生成 pdf 文档
一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...
- Aspose.Words操作word生成PDF文档
Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...
- 如何从Windows Phone 生成PDF文档
我需要从我的Windows Phone应用程序生成PDF. 遗憾的是没有标准的免费的PDF生成库在Windows Phone上运行. 我不得不自己生成PDF,通过直接写入到文件格式. 这竟然是真的很容 ...
- 使用PHP生成PDF文档
原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快 ...
- DocFX生成PDF文档
使用DocFX生成PDF文档,将在线文档转换为PDF离线文档. 关于DocFX的简单介绍使用DocFX生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/do ...
- qt 利用 HTML 生成PDF文档,不能显示jpg图片
利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...
- ireport图形化界面生成pdf文档
一.ireport软件安装 1.下载软件的官网 https://community.jaspersoft.com/project/ireport-designer/releases 2.安装软件 ...
随机推荐
- 实现一个优先级队列,每次pop 返回优先级最高的元素
demo1 实现一个按优先级排序的队列, 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 import heapq class PriorityQueue: def __init__ ...
- 鼠标经过事件(onmouseover)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- JDBC Connection Configuration
如果在Jmeter 中想用到连接数据库的功能,必须下载jar包,常见的关系型数据库jar包见以下共享链接 链接:https://pan.baidu.com/s/1t-k9RW141lw0j_QSw53 ...
- 牛客国庆集训派对Day3 G Stones
Stones 思路: sg函数打表找规律 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #in ...
- 雷林鹏分享:XML 验证
XML 验证 拥有正确语法的 XML 被称为"形式良好"的 XML. 通过 DTD 验证的XML是"合法"的 XML. 形式良好的 XML 文档 "形 ...
- Aliyun cdn访问日志下载
1.日志下载代码(cdn.py)(请在Linux系统下运行) #!/usr/bin/python2.7 # -*- coding:utf-8 -*- import sys,os,gzip,json,r ...
- FreeBSD之基本配置
1. 设置IP地址.网关ee /etc/rc.conf ifconfig_em0="inet 192.168.21.173 netmask 255.255.255.0" #设置 ...
- JS实现继承的6种方式
使用pretotype,call实现完美继承 父类: fuction Animal(name){ this.name=name||"Animal"; this.sl ...
- Stanford: Creating a Hadoop-2.x project in Eclipse
Creating a Hadoop-2.x project in Eclipse http://snap.stanford.edu/class/cs246-data-2014/hw0.pdf Hado ...
- android--------内存泄露分析工具—Android Monitor
Android Studio 内置了四种性能监测工具Memory Monitor.Network Monitor.CPU Monitor.GPU Monitor,我们可以使用这些工具监测APP的状态, ...