iTextSharp生成pdf文档案例
1.
using iTextSharp.text;
using iTextSharp.text.pdf;
2.设置页面大小
iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(610f, 760f);
设置背景颜色
pageSize.BackgroundColor = new BaseColor(100,100,100);
3.创建文档:
Document document = new Document(pageSize);
对于一些常用尺寸比如:A4、A5\A6可以使用PageSize类,如果是横向页面可以调用它的Rotate方法。eg:
PageSize.A4.Rotate().
设置margion:
Document doc = new Document(PageSize.A4.Rotate(), 5f, 5f, 5f, 5f);
4.创建writer
PdfWriter pw = PdfWriter.GetInstance(doc, new FileStream(@"...\my.pdf",FileMode.OpenOrCreate,FileAccess.ReadWrite));
5.设置相关信息:
BaseFont baseFT = BaseFont.CreateFont(@"c:\windows\fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(baseFT); //写入一个段落, Paragraph
#region 设置PDF的头信息,一些属性设置,在Document.Open 之前完成
doc.AddAuthor("尚层装饰");
doc.AddCreationDate();
doc.AddCreator("AddCreator");
doc.AddSubject("AddSubject");
doc.AddTitle("title");
doc.AddKeywords("111");
//自定义头
doc.AddHeader("Expires", "0");
#endregion
doc.Open();
doc.NewPage();
6.插入文字:
Paragraph ph = new Paragraph("PPPPpppzzzzpppPPPP" + "", font);
ph.Alignment = iTextSharp.text.Rectangle.ALIGN_CENTER;
doc.Add(ph);
7.插入图片
iTextSharp.text.Image image =
iTextSharp.text.Image.GetInstance(@"...\20140527030942838.png");
image.Alignment = iTextSharp.text.Image.MIDDLE_ALIGN;
//image.SetAbsolutePosition(0f, 40f);
image.ScaleToFit(610f, 760f);
doc.Add(image);
8.插入表格:
iTextSharp.text.pdf.PdfPTable table = new iTextSharp.text.pdf.PdfPTable(2); // 表格有 2 列
iTextSharp.text.pdf.PdfPCell cell = new iTextSharp.text.pdf.PdfPCell(); // 创建单元格
cell.AddElement(new Phrase("sfdsdf"));
cell.Colspan = 2;
table.AddCell(cell);
//cell.HorizontalAlignment=1; // 在单元格中添加数据
table.SetWidths(new int[]{200, 100});
table.AddCell("1"); // 将单元格加入到表格中
table.AddCell("2"); // 将单元格加入到表格中
table.AddCell("1"); // 将单元格加入到表格中
table.AddCell("2"); // 将单元格加入到表格中
table.AddCell("1"); // 将单元格加入到表格中
table.AddCell("2"); // 将单元格加入到表格中
table.HorizontalAlignment = 1;
doc.Add(table);
doc.Close();
============asp.net直接下载pdf文件案例:
//pdf页面大小
iTextSharp.text.Rectangle pageSize = new iTextSharp.text.Rectangle(610f, 360f);
Document doc = new Document(pageSize, 0f, 0f, 0f, 0f);
//设置边界
MemoryStream Memory = new MemoryStream();
try
{
PdfWriter.GetInstance(doc, Memory);
BaseFont baseFT = BaseFont.CreateFont(@"c:\windows\fonts\SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
iTextSharp.text.Font font = new iTextSharp.text.Font(baseFT); //写入一个段落, Paragraph
#region 设置PDF的头信息,一些属性设置,在Document.Open 之前完成
doc.AddAuthor("尚层装饰");
doc.AddCreationDate();
doc.AddCreator("" + model.FirstOrDefault().SliCreateTime + "");
doc.AddSubject("");
doc.AddTitle("" + model.FirstOrDefault().SolTitle + "");
doc.AddKeywords("");
//自定义头
doc.AddHeader("Expires", "0");
#endregion
doc.Open();
foreach (var item in model)
{
doc.NewPage();
doc.Add(new Paragraph("" + item.SliName ?? "1111" + "", font));
iTextSharp.text.Image image =
iTextSharp.text.Image.GetInstance(SFast.MyUrl.ToAb(item.SliImagePath));
image.Alignment = iTextSharp.text.Image.MIDDLE_ALIGN;
// image.SetAbsolutePosition(0f, 40f);
image.ScaleToFit(610f, 360f);
doc.Add(image);
}
doc.Close();
string Strfilename = "" + model.FirstOrDefault().SolTitle + "";
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
Strfilename = HttpUtility.UrlEncode(Strfilename + ".pdf", System.Text.Encoding.GetEncoding("UTF-8"));
HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", Strfilename));
HttpContext.Current.Response.ContentType = "application/octet-streem";
Response.OutputStream.Write(Memory.GetBuffer(), 0, Memory.GetBuffer().Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.End();
}
catch (DocumentException de) { Console.WriteLine("图片路径未找到"); Console.ReadKey(); }
}
iTextSharp生成pdf文档案例的更多相关文章
- 利用ItextSharp 生成PDF文档改进版
导入的ItextSharp.dll一定要是较高的版本 数据库表结构 生成的PDF样式 代码: namespace WebPDF { public partial class _Default : Sy ...
- 使用itextsharp创建PDF文档——图片集合
文档管理系统中 ,扫描模块将文档或证件扫描后.为了便于保存多个图片,拟将多个图片生成一个PDF文档进行保存. 这里我们就需要PDF生成工具了.你可以在这里下载.PDFCreator 主要使用了开源工具 ...
- 如何从Windows Phone 生成PDF文档
我需要从我的Windows Phone应用程序生成PDF. 遗憾的是没有标准的免费的PDF生成库在Windows Phone上运行. 我不得不自己生成PDF,通过直接写入到文件格式. 这竟然是真的很容 ...
- Spring Boot集成JasperReports生成PDF文档
由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档.本人文采欠缺,写作能力 ...
- 手把手教你使用 Java 在线生成 pdf 文档
一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
- Aspose.Words操作word生成PDF文档
Aspose.Words操作word生成PDF文档 using Aspose.Words; using System; using System.Collections.Generic; using ...
- 使用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 ...
随机推荐
- HDU 2082-找单词(母函数)
找单词 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- 数字使用相应的加密策略传递一个字符串后Java实现代码
公司采用公用电话传递数据,数据小于8整数位,为了确保安全, 在转移的过程中需要加密,加密规则如下面的: 第一个数据下降,附图然后各加5,和除以10的余数取代该数字, ...
- Oracle中的delete和truncate的关系
转自:http://chenxy.blog.51cto.com/729966/168459 1.相同点 a.都可以删除数据,其中truncate用于全表清空数据,而delete可以选择的删 ...
- Linux centos 主机名颜色设置 和 别名设置
方便和乐趣写今天.至于为什么主机名颜色设置 和 别名设置放在一起写.这是因为他们的设置是在一个文件中..bashrc. .bashrc放在cd /root 这个文件夹下! 这个文件主要保存个人的一些个 ...
- 【足迹C++primer】47、Moving Objects(1)
Moving Objects(1) * 功能:Moving Objects * 时间:2014年7月17日08:46:45 * 作者:cutter_point */ #include<iostr ...
- Web前端开发实用的Chrome插件
Web前端开发实用的Chrome插件 越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员极大的提高工作效率.尤其Chrome本身是可以登录的,登录 ...
- CSharp设计模式读书笔记(18):中介者模式(学习难度:★★★☆☆,使用频率:★★☆☆☆)
中介者模式(Mediator Pattern):用一个中介对象(中介者)来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,中介者模式又称为 ...
- 几款web版整合(QQ、msn、icq、yahoo通、Gtalk等)即时聊天http://hi.baidu.com/ejie/blog/item/e89794ef9a9431efce1b3ebd.html
直到近期为止,我们经常使用的即时聊天工具(QQ.msn等)了Web版,大家不用下载庞大软件,直接打开网页就能够与自己的好友聊天,很方便.在此将时汇总,便于大家查找,节约大家一点时间. 此都是官 ...
- java语言内部类和匿名内部类
内部类 在类定义也有类,在该类上的内部被称为一个内部类. 访问功能: 1,内部类可以直接访问外部类成员,它包含私有成员 2,外部类需要访问内部类的成员将需要建立一流的内部对象. 一般用于类的设计. 分 ...
- 深入struts2(三)---工作机制和运行流程图
1 工作原理 1.1 体系架构 图2.1 struts2.0体系架构图 1.2 工作机制 针对上节体系架构图,以下分步说明运行流程 Ø client初始化一个指向Servle ...