Document doc = new Document(); //粉丝名称 string memberName = ""; var detail = listDetails.FirstOrDefault(); if (detail != null) { ServiceRecord record = detail.ServiceRecord; if (record != null) { Member m = record.Member; if (m != null) { memberName = m.FirstName + " " + m.LastName; } } } try { //step 2:创建一个writer用于监听Document以及通过PDF-stream指向一个文件 string pdfName = DateTime.Now.ToString("yyyyMMddHHmmss"); if (!Directory.Exists(Server.MapPath("~/Content/pdf/"))) { Directory.CreateDirectory(Server.MapPath("~/Content/pdf/")); } string pdfPath = Server.MapPath(string.Format("~/Content/pdf/{0}.pdf", pdfName)); PdfWriter.GetInstance(doc, new FileStream(pdfPath, FileMode.Create)); pdfURL = Request.Headers["host"] + Url.Content(string.Format("~/Content/pdf/{0}.pdf", pdfName)); // step 3: 打开document doc.Open(); } //---------------- doc.Add(CreateParagraphTxt(new List<string> { atc.Title }, num)); doc.Add(CreateParagraphImg(atc.PictureUrl)); //--------------------------------- //创建文本段落 private Paragraph CreateParagraphTxt(List<string> Listtxt, int num, bool isContent = true) { Paragraph phTxt = new Paragraph();//段落 BaseFont bf = BaseFont.CreateFont("c://windows//fonts//simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); iTextSharp.text.Font font = new iTextSharp.text.Font(bf); phTxt.Font = font; if (num % 2 != 0) { phTxt.Font.SetColor(80, 120, 169); } phTxt.SpacingAfter = 10; int fontSize = 15; foreach (var item in Listtxt) { Chunk chunkTxt = new Chunk(item, FontFactory.GetFont(FontFactory.COURIER, "UniGB-UCS2-H", BaseFont.EMBEDDED, fontSize)); if (isContent) { phTxt.IndentationLeft = 30; } phTxt.Add(chunkTxt); } return phTxt; } //创建图片段落 private Paragraph CreateParagraphImg(string imgUrl) { if (System.IO.File.Exists(Server.MapPath(imgUrl))) { Paragraph phImg = new Paragraph();//段落 iTextSharp.text.Image jpg1 = iTextSharp.text.Image.GetInstance(Server.MapPath(imgUrl)); jpg1.Alignment = Element.ALIGN_LEFT; phImg.Add(jpg1); return phImg; } return new Paragraph("Image Load failed"); }