生成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.安装软件 ...
随机推荐
- centos7 查看防火墙状态
[root@xxx ~]# firewall-cmd --state not running
- leecode第一百三十六题(只出现一次的数字)
class Solution { public: int singleNumber(vector<int>& nums) { int len=nums.size(); ; ;i&l ...
- python类中保存非绑定方法作为成员函数
习惯了函数式,动不动传一个函数.但是直接把函数作为类方法保存,再调用时会报错. 举一个unittest时的例子 class MyTestCase(unittest.TestCase): @classm ...
- d3.select(this)不能用箭头函数
d3中典型的数据绑定片段 const items = svg.selectAll('g') .data(gdfs,(d)=> d.name); const enter = items.enter ...
- 虚拟机中不能连接usb设备解决办法
虚拟机中不能连接usb设备解决办法 1.点击开始->运行,在对话框中输入"services.msc",确定,打开windows服务管理器.2.在服务列表中选中"VM ...
- word2010怎么把白色方框变成黑色方框?
word2010怎么把白色方框变成黑色方框? 打开Word 2010文档,选中第四个白色方框. 切换到“插入”功能区,在符号选项组单击“符号”按钮,出来的窗口单击“其他符号”. 在“符号”选项卡单 ...
- OpenGL + VS2015 + Windows10配置
官网下载OpenGL:https://www.opengl.org/resources/libraries/glut/ 解压后得到5个文件:glut.h,glut.dll,glut32.dll,glu ...
- BGP - 1,基本概念
1,BGP知识点 a)AS号:私有(64512-65535),公有(0-64511). b)什么时候使用BGP:有数据穿越本AS前往其他AS:本AS有多条到其他AS的连接:必须要做策略. c)BG ...
- Could not find method google() for arguments [] on repository container.
出这个问题主要是你Gradle版本太低的原因,一般要使用4.0+的版本 所以你需要更新你的Gradle版本至4.0+呦 tips:注意你的AndroidStudio版本应该是3.0以上,因为Gradl ...
- 五中常见的PHP设计模式
策略模式 策略模式是对象的行为模式,用意是对一组算法的封装.动态的选择需要的算法并使用. 策略模式指的是程序中涉及决策控制的一种模式.策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编 ...