只需要建一个类文件就搞定了
public class CreatePDF { public static CreatePDF Current { get { return new CreatePDF(); } } public void CreatePDFs(RBS.Models.UserConfirmModel Model) { Document document = new Document(); string filepath = "/Upload/Pdf/"; Directory.CreateDirectory(HttpContext.Current.Server.MapPath(filepath)); PdfWriter.GetInstance(document, new FileStream(HttpContext.Current.Server.MapPath(filepath + "001.pdf"), FileMode.Create)); document.Open(); BaseFont bftitle = BaseFont.CreateFont(@"C:\WindowsFontsSIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font fonttitle = new Font(bftitle, 20, Font.UNDERLINE); BaseFont bf1 = BaseFont.CreateFont(@"C:\WindowsFontsSIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font font1 = new Font(bf1, 12); Font fonttitle10 = new Font(bf1, 12); Font fonttitle12 = new Font(bf1, 11); PdfPCell cellmode = new PdfPCell(); cellmode.Padding = 0; Paragraph Title = new Paragraph("信息总表", fonttitle); Title.SetAlignment("center"); document.Add(Title); PdfPTable topTable = new PdfPTable(1); PdfPCell topCell = new PdfPCell(); topCell.PaddingTop = 10F; topCell.Colspan = 1; topCell.Border = 0; topTable.AddCell(topCell); document.Add(topTable); PdfPTable table = new PdfPTable(3); CreateCell(2, false, "广州XXXXXX公司", fonttitle10, "left", table); CreateCell(1, false, "字第190898765号", fonttitle10, "right", table); CreateCell(3, 5, 0, "兹批准 广州市XXXXXXX分公司 去购买下列物品", fonttitle10, "center", table); CreateCell(1, true, "物品名称", fonttitle10, "center", table); CreateCell(1, true, "数量", fonttitle10, "center", table); CreateCell(1, true, "备注", fonttitle10, "center", table); string[] arrNames = { "物品名称1", " 物品名称2", " ", " " }; string[] arrCounts = { "10吨", "800公斤", "", "" }; for (int i = 0; i < arrNames.Length; i++) { CreateCell(1, 5, 1, arrNames[i], fonttitle10, "center", table); CreateCell(1, 5, 1, arrCounts[i], fonttitle10, "center", table); CreateCell(1, 5, 1, " ", fonttitle10, "center", table); } CreateCell(3, false, " 此证由填发日起止2013年03月19日有效 逾期作废", fonttitle10, "left", table); CreateCell(3, false, " 到本县、市以外购买物品时,必须经出售地政府机关在备注栏内盖章后方能有效", fonttitle10, "left", table); CreateCell(1, 5, 0, " 填发人:XXX", fonttitle10, "left", table); CreateCell(2, false, "广东省广州市 2013年3月5日", fonttitle10, "right", table); document.Add(table); document.Close(); } /// /// 生成单元格 /// /// 合并列数 /// 是否需要边框线 /// 表格内显示的内容 /// 内容字体 /// 对齐方式 /// 此单元格填充的表 private void CreateCell(int Colspan, bool Border, string Content, Font font, string alignment, PdfPTable table) { if (Border) CreateCell(Colspan, 0, 1, Content, font, alignment, table); else CreateCell(Colspan, 0, Content, font, alignment, table); } /// /// 生成单元格 /// /// 合并列数 /// 间距 /// 内容 /// 字体 /// 对齐方式 /// 此单元格填充的表 private void CreateCell(int Colspan, int Padding, string Content, Font font, string alignment, PdfPTable table) { CreateCell(Colspan, Padding, 0, Content, font, alignment, table); } /// /// 生成单元格 /// /// 合并列数 /// 间距 /// 边框线 /// 内容 /// 字体 /// 对齐方式 /// 此单元格填充的表 private void CreateCell(int Colspan, int Padding, int Border, string Content, Font font, string alignment, PdfPTable table) { CreateCell(Colspan, Padding, Border, 0, 0, Content, font, alignment, table); } /// /// 生成单元格 /// /// 合并列数 /// 间距 /// 边框线 /// 水平对齐方式 /// 垂直对齐方式 /// 内容 /// 字体 /// 对齐方式 /// 此单元格填充的表 private void CreateCell(int Colspan, int Padding, int Border, int HorizontalAlignment, int VerticalAlignment, string Content, Font font, string alignment, PdfPTable table) { PdfPCell cell = new PdfPCell(); cell.Colspan = Colspan; cell.Padding = Padding; if (HorizontalAlignment > 0) cell.HorizontalAlignment = HorizontalAlignment; if (VerticalAlignment > 0) cell.VerticalAlignment = VerticalAlignment; if (Border == 0) cell.Border = Border; Paragraph table_t = new Paragraph(Content, font); table_t.SetAlignment(alignment); cell.AddElement(table_t); table.AddCell(cell); } }