码迷,mamicode.com
首页 > 其他好文 > 详细

使用itextsharp画pdf文件(工作总结)

时间:2017-11-03 11:11:05      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:write   如何   tle   image   embed   占用   dispose   需求   ring   

iTextSharp.dll我是在网上随便下载的一个,没注意版本。应该非常容易下载

命名空间

using iTextSharp.text;
using iTextSharp.text.pdf;

设置pdf字体和封装标题文本字体大小

  //字体读取的是windows系统宋体  
  BaseFont basefont = BaseFont.CreateFont("C:/Windows/Fonts/simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
  iTextSharp.text.Font font = new Font(basefont, 10);//设置字体为宋体和大小  
  iTextSharp.text.Font font2 = new Font(basefont, 9);//设置字体为宋体和大小

将pdf文档设置为A4文本尺寸

//设置为A4尺寸
iTextSharp.text.Document document = new iTextSharp.text.Document(PageSize.A4, 50, 50, 30, 30);

下面开始pdf文档制作正文了

。。。

//内存流
MemoryStream stream = new MemoryStream();
//将内存流写入pdf
PdfWriter.GetInstance(document, stream);
document.Open();
//添加标题
document.AddTitle("设备评测报告");

Paragraph element = new Paragraph("凯泉设备评测报告", new Font(basefont, 16));
element.SpacingAfter = 15; //设置离后面内容的间距  
element.Alignment = Element.ALIGN_CENTER;
document.Add(element);

//添加段落
Paragraph element4 = new Paragraph(" ", new Font(basefont, 15));
document.Add(element4);

//添加图片
Image backImg = Image.GetInstance(img1);
backImg.SetAbsolutePosition(400, 780);
backImg.ScaleAbsolute(151f, 45f);
document.Add(backImg);

//pdf插入表格
PdfPTable table = new PdfPTable(4);
table.WidthPercentage = 100;//设置表格宽度占用百分比   
PdfPCell cell = new PdfPCell(new Phrase("一、设备信息", font));
cell.Colspan = 4;
table.AddCell(cell);
table.AddCell(new Phrase("设备名称",font2));
table.AddCell(new Phrase(projecName, font2));
table.AddCell(new Phrase("报告编号", font2));
table.AddCell(new Phrase(" ", font2));

table.AddCell(new Phrase("安装地址", font2));
table.AddCell(new Phrase(addres, font2));
table.AddCell(new Phrase("设备型号", font2));
table.AddCell(new Phrase(DevModel, font2));

table.AddCell(new Phrase("额定功率", font2));
table.AddCell(new Phrase(power, font2));
table.AddCell(new Phrase("扬程", font2));
table.AddCell(new Phrase(Lift, font2));

table.AddCell(new Phrase("累计运行时间", font2));
table.AddCell(new Phrase(" ", font2));
table.AddCell(new Phrase("累计投运时间", font2));
table.AddCell(new Phrase(" ", font2));
document.Add(table);

//结束pdf段落
 .Close();
byte[] fileBytes = stream.GetBuffer();
stream.Close();
stream.Dispose();
return File(fileBytes, "application/pdf", "设备评测报告" + "(" + kai + ")" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf");

 这样一个完整的pdf文档就成功了。pdf文档有利有弊,不可修改的安全性是利也是弊。

 这是第一次尝试用itextsharp制作pdf,勉强完成了工作需求,做下记录总结,但是自己还是有一个疑问,在网上也没有找到合适的解决方案。

 像图片有定位可以在文档上定位插入, itextsharp插入 段落,就是文本。如何能够定位插入,是否有好的解决方案,有好的方法能在评论区分享就太好了。

 

使用itextsharp画pdf文件(工作总结)

标签:write   如何   tle   image   embed   占用   dispose   需求   ring   

原文地址:http://www.cnblogs.com/wufanJY/p/7776806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!