• 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. Docker个人理解总结

    最新在学习Docker,记录下自己对Docker的理解. 一.Docker是什么? 1. Docker是一个能够把开发的应用程序自动部署到容器的开源引擎. 2.Docker使用Google公司推出的G ...

  2. Java生成指定长度的随机数

    char[] str = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', ' ...

  3. Rxbus的使用

    Rxbus是一种模式,在RxJava中 一.添加依赖 compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.1.5 ...

  4. 《剑指offer》第六十四题(求1+2+…+n)

    // 面试题64:求1+2+…+n // 题目:求1+2+…+n,要求不能使用乘除法.for.while.if.else.switch.case // 等关键字及条件判断语句(A?B:C). #inc ...

  5. 学习笔记43—Linux基础集

    1.通过窗口进入 /usr/local: 请点击computer; 通过窗口进入自己home目录:点击home即可.

  6. 关于JS历史

      js由来        95年那时,绝大多数因特网用户都使用速度仅为28.8kbit/s 的“猫”(调制解调器)上网,但网页的大小和复杂性却不断增加.为完成简单的表单验证而频繁地与服务器交换数据只 ...

  7. h5调用手机相册摄像头以及文件夹

    在之前一家公司的时候要做一个app里面有上传头像的功能,当时研究了好久,找到了一篇文章关于h5摄像头以及相册的调用的,所以就解决了这个问题了!!我这里记录一下以便后面有人需要,可以参考一下!!!! 下 ...

  8. lua --- unpack

    unpack 返回数组中的所有元素,包括 nil,注意是数组,对于 k-v 是不返回的!!! do , ,o = } print(unpack(tab)) --默认从索引 1 开始 )) --从索引 ...

  9. 第 8 章 容器网络 - 054 - 准备 macvlan 环境

    准备 macvlan 环境 macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 interface,每个 interface 可以配置 ...

  10. 利用unittest+ddt进行接口测试(二):使用yaml文件管理测试数据

    知道ddt的基本使用方法之后,练习把之前用excel文件来维护的接口测试用例改用unittest+ddt来实现. 这里我选用yaml文件来管理接口参数,开始本来想用json,但是json无法添加注释, ...