Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }