/// <summary> /// 创建pdf文件。by liuhy on 20141009 /// </summary> /// <param name="pdfName">包含文件路径的pdf文件名</param> /// <param name="pdfContent">pdf文件的内容</param> public static bool CreatePdfFile(string pdfName, string pdfContent, ReportPara para) { bool bResult = false; try { //默认字体为9号 CreatePdfFile(pdfName, pdfContent, 9, para); bResult = true; } catch (Exception ex) { throw; } return(bResult); }
/// <summary> /// JPG转PDF。by liuhy on 20151019 /// </summary> /// <param name="pdfName">输出PDF文件路径</param> /// <param name="jpgName">输入JPG文件路径</param> public static bool CreatePdfFileByJPG(string pdfName, string jpgName, ReportPara para) { bool bResult = false; try { var document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 100, 25); using (var stream = new FileStream(pdfName, FileMode.Create, FileAccess.Write, FileShare.None)) { PdfWriter writer = PdfWriter.GetInstance(document, stream); if (para != null) { PDFReport report = new PDFReport(); report.ReportPar = para; //report.Route = route; writer.PageEvent = report; } document.Open(); using (var imageStream = new FileStream(jpgName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { var image = Image.GetInstance(imageStream); if (image.Height > iTextSharp.text.PageSize.A4.Height - 25) { image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25); } else if (image.Width > iTextSharp.text.PageSize.A4.Width - 25) { image.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25); } image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE; document.Add(image); } document.Close(); } bResult = true; } catch (Exception ex) { } return(bResult); }
/// <summary> /// 创建pdf文件。by liuhy on 20141103 /// </summary> /// <param name="pdfName">包含文件路径的pdf文件名</param> /// <param name="pdfContent">pdf文件的内容</param> /// <param name="pdfWordSize">pdf文件字体大小</param> public static bool CreatePdfFile(string pdfName, string pdfContent, int pdfWordSize, ReportPara para) { bool bResult = false; try { #region 创建pdf文件 //获取字体 string fontPath = @"C:\WINDOWS\Fonts\simsun.ttc"; string mm = Environment.SystemDirectory.Substring(0, 1); if (!mm.ToUpper().Equals(fontPath.Substring(0, 1))) { fontPath = mm + @":\WINDOWS\Fonts\simsun.ttc"; } BaseFont baseFont = null; try { baseFont = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); } catch { fontPath = fontPath + ",1"; baseFont = BaseFont.CreateFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); } Font pdfFont = new Font(baseFont, pdfWordSize, Font.NORMAL); Document pdfDocument = new Document(PageSize.A4, 10, 10, 100, 20); //PdfDestination pdfDest = new PdfDestination(PdfDestination.XYZ, 0, pdfDocument.PageSize.Height, 1f); PdfWriter writer = PdfWriter.GetInstance(pdfDocument, new FileStream(pdfName, FileMode.OpenOrCreate)); //PdfAction action = PdfAction.GotoLocalPage(1, pdfDest, writer); if (para != null) { var report = new PDFReport(); report.ReportPar = para; writer.PageEvent = report; } //writer.SetOpenAction(action); pdfDocument.Open(); //HeaderAndFooterEvent.PAGE_NUMBER = true; //增加行距参数:10f.modify by liuhy on 20141120 pdfDocument.Add(new Paragraph(10f, pdfContent, pdfFont)); writer.Flush(); writer.CloseStream = true; pdfDocument.Close(); bResult = true; #endregion } catch (Exception ex) { throw; } return(bResult); }
/// <summary> /// 通过TXT文件创建PDF文件。by liuhy on 20141113 /// </summary> /// <param name="pdfName">生成的pdf文件名(包含文件路径)</param> /// <param name="txtName">用于生成PDF的txt文件名(包含文件路径)</param> /// <param name="pdfWordSize">pdf文件字体大小</param> public static bool CreatePdfFileByTxt(string pdfName, string txtName, int pdfWordSize, ReportPara para) { bool bResult = false; try { string strContent = ReadFile(txtName); CreatePdfFile(pdfName, strContent, pdfWordSize, para); bResult = true; } catch (Exception ex) { throw; } return(bResult); }