日期:2014-05-20 浏览次数:21004 次
using System; using System.Collections.Generic; using System.Drawing.Imaging; using System.IO; using System.Text; using iTextSharp.text; using iTextSharp.text.pdf; namespace Pbreak.PDf { class MyPdf { #region Fields /// <summary> /// pdf文档 /// </summary> private Document _pdfDocument; /// <summary> /// 基本字体 /// </summary> private BaseFont _bfSun = BaseFont.CreateFont(@"c:\Windows\fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); #endregion #region Constructors /// <summary> /// 构造函数 /// </summary> /// <param name="fileName"></param> public MyPdf(string fileName,ListView lvi) { Font font = new Font(_bfSun,21,1); _pdfDocument = new Document(PageSize.A4,10,10,25,25); PdfWriter writer = PdfWriter.GetInstance(_pdfDocument,new FileStream(fileName,FileMode.Create)); //添加页脚 HeaderFooter footer = new HeaderFooter(new Phrase(Program._resourceManager.GetString("page")), true); footer.Alignment = 1; footer.Border = Rectangle.ALIGN_CENTER; _pdfDocument.Footer = footer; _pdfDocument.Open(); //添加标题 Paragraph Header = new Paragraph(new Paragraph(Program._resourceManager.GetString("weldTable"), font)); Header.Alignment = 1; _pdfDocument.Add(Header); //添加数据表格 _pdfDocument.NewPage(); _pdfDocument.Add(AddTable(lvi)); //添加图片 _pdfDocument.NewPage(); if(PrintHeads.ImageAddress != null && PrintHeads.ImageAddress.Length != 0) { foreach(string str in PrintHeads.ImageAddress) { iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(str); image.Alignment = iTextSharp.text.Image.MIDDLE_ALIGN; _pdfDocument.Add(image); } } _pdfDocument.Close(); } #endregion #region Methods /// <summary> /// 添加数据表格 /// </summary> /// <returns></returns> private Table AddTable(ListView lvi) { Font font = new Font(_bfSun,12,1); Table myTable = new Table(4); myTable.BorderWidth = 0; myTable.BorderColor = new Color(0, 0, 255); myTable.Cellpadding = 1; myTable.TableFitsPage = true; for(int columNum = 0; columNum != lvi.Columns.Count; columNum++) { Cell myCell = new Cell(new Phrase(lvi.Columns[columNum].Text, font)); myCell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY; myTable.AddCell(myCell); myTable.EndHeaders(); } for(int rowNum = 0; rowNum != lvi.Items.Count; rowNum++) { for(int columNum = 0; columNum != lvi.Columns.Count; columNum++) { myTable.AddCell(new Phrase(lvi.Items[rowNum].SubItems[columNum].Text,font)); } } return myTable; } #endregion } }
------解决方案--------------------
http://www.cnblogs.com/zhuor/archive/2005/12/31/308908.html
------解决方案--------------------
这个需要顶!!
------解决方案--------------------
给你个链接,里面挺详细的:
http://www.cnblogs.com/zhuor/archive/2005/12/31/308908.html