1. 程式人生 > >使用itextsharp畫pdf文件(工作總結)

使用itextsharp畫pdf文件(工作總結)

identity cati entity cat turn blog 應該 using 插入

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文件(工作總結)