读书人

C#生成PDF包括有文字、表格、图片,该

发布时间: 2011-12-29 22:09:38 作者: rapoo

C#生成PDF,包括有文字、表格、图片
C#生成PDF,包括有文字、表格、图片

网络上可以搜索到的那个代码恐怕只能生成文本和少量格式的PDF,不适用



[解决办法]

C# code
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


[解决办法]
up

[解决办法]
使用itextsharp都可以搞定 lz自行去下载
[解决办法]
可用iTextSharp
参考
[解决办法]
用itextsharp!
CSDN下载里就有:
http://search.download.csdn.net/search/itextsharp
[解决办法]
用PDFLib吧,很好用,支持多种程序语言和跨平台,你可以在下载频道搜索到。
[解决办法]
参考向PDF中添加图片和圆角文本框等元素

读书人网 >C#

热点推荐