• 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的更多相关文章

  1. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  2. 自动把动态的jsp页面(或静态html)生成PDF文档,并且上传至服务器

    置顶2017年11月06日 14:41:04 阅读数:2311 这几天,任务中有一个难点是把一个打印页面自动给生成PDF文档,并且上传至服务器,然而公司框架只有手动上传文档,打印时可以保存为PDF在本 ...

  3. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  4. Aspose.Words操作word生成PDF文档

    Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...

  5. 如何从Windows Phone 生成PDF文档

    我需要从我的Windows Phone应用程序生成PDF. 遗憾的是没有标准的免费的PDF生成库在Windows Phone上运行. 我不得不自己生成PDF,通过直接写入到文件格式. 这竟然是真的很容 ...

  6. 使用PHP生成PDF文档

    原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快 ...

  7. DocFX生成PDF文档

    使用DocFX生成PDF文档,将在线文档转换为PDF离线文档. 关于DocFX的简单介绍使用DocFX生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/do ...

  8. qt 利用 HTML 生成PDF文档,不能显示jpg图片

    利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...

  9. ireport图形化界面生成pdf文档

    一.ireport软件安装 1.下载软件的官网 https://community.jaspersoft.com/project/ireport-designer/releases 2.安装软件   ...

随机推荐

  1. 性能跃升50%!解密自主研发的金融级分布式关系数据库OceanBase 2.0

    小蚂蚁说: 相信大家对蚂蚁金服自主研发的金融级分布式关系数据库OceanBase的故事不再陌生了.在刚刚过去的2018年天猫双11中,成交额2135亿再次创造了新纪录,而支撑今年双11的支付宝核心链路 ...

  2. Codeforces 786 A. Berzerk

    题目链接:http://codeforces.com/problemset/problem/786/A 这个题出做$DIV2$的$C$以及$DIV1$的A会不会难了一点啊... 做法和题解并不一样,只 ...

  3. maven项目, 单元测试失败提示 Class not found datastorage........

    ---恢复内容开始--- 单元测试失败:  提示 Class not found datastorage........ 原因:   maven  环境变量问题,   eclipse 没有自动更新下载 ...

  4. Android application backup

    警告 AndroidMenifest中application标签下android:allowBackup="true"时,会警告: Warning:On SDK version 2 ...

  5. Android 虹软免费人脸识别App

    人脸识别+本机Web后端 人脸sdk采用虹软sdk,本机web采用AndServer:上传姓名+人脸图片即可实现注册源码地址:https://github.com/joetang1989/ArcFac ...

  6. Oracle简介

    1.Oracle 数据库基于客户端/服务 2. Oracle认证 OCA:Oracle认证助理工程师,比较简单 OCP:Oracle认证专家 OCM:Oracle认证资深专家 3.Oracle 服务的 ...

  7. 解决微信video全屏的问题,不在本页面播放

    在微信浏览器中使用video标签,点击播放会跳出本页面,自动进行全屏播放,原因是自动跳转到手机微信内置的浏览器中去播放去了!!! 在video中加上连个属性就好了,反正最近的一个项目,我是这样做的就好 ...

  8. 第 8 章 容器网络 - 057 - macvlan 网络隔离和连通

    macvlan 网络隔离和连通 验证 macvlan 之间的连通性. bbox1 能 ping 通 bbox3,bbox2 能 ping 通 bbox4. 即:同一 macvlan 网络能通信. bb ...

  9. 连续子数组和 Continuous Subarray Sum

    2018-10-03 01:12:42 问题描述: 问题求解: 本题本质上其实是一个preSum问题的变种,每次求preSum % k,并将之保存到map中,如果之后再次得到相同的余数,则表示这两者之 ...

  10. PHP工厂模式计算面积与周长

    <?phpinterface InterfaceShape{ function getArea(); function getCircumference();} /** * 矩形 */class ...