ITextSharp匯出PDF表格和圖片(C#)

來源:互聯網
上載者:User

標籤:

    文章主要介紹使用ITextSharp匯出PDF表格和圖片的簡單操作說明,以下為ITextSharp.dll下載連結

      分享連結:http://pan.baidu.com/s/1nuc6glj 密碼:3gxw

  一、流程

                                                                                                                                    

二、簡單一實例:

          1)建立表格執行個體

      程式:

        /// <summary>        /// 建立PDF檔案        /// </summary>        private void CreatPDFTable()        {            //列印PDF表格            string pdfname = string.Empty;            SaveFileDialog dlg = new SaveFileDialog();            dlg.FileName = "PDF表格";            dlg.DefaultExt = ".pdf";            dlg.Filter = "Text documents (.pdf)|*.pdf";            if (dlg.ShowDialog() == DialogResult.OK)            {                 pdfname = dlg.FileName;                FileStream fs = new FileStream(pdfname, FileMode.Create);   //建立檔案流                Document document = new Document(PageSize.A7.Rotate());     //建立檔案 PageSize.A7.Rotate()表示A7紙橫向輸出                  PdfWriter pdfWriter = PdfWriter.GetInstance(document, fs);  //執行個體化                document.Open();                         //開啟檔案                 document.Add(new Paragraph("1"));                document.Add(PDFTable1());               //添加表格                document.SetPageSize(PageSize.A6);       //A6紙縱向輸出                document.NewPage();                      //新起一頁                document.Add(new Paragraph("2"));                document.Add(PDFTable2());                document.Add(new Paragraph("3"));                document.Add(PDFTable3());                document.Close();                        //關閉檔案                fs.Close();            }        }        /// <summary>        /// 建立表格1        /// </summary>        /// <returns></returns>        private PdfPTable PDFTable1()                        {            var table1 = new PdfPTable(4);     //建立表格執行個體4列            int[] a = { 1, 2, 3, 4 };          //設定列寬比例            table1.SetWidths(a);            for (int i = 0; i < 16; i++)            {                table1.AddCell((i + 1).ToString());     //添加儲存格            }             return table1;        }        /// <summary>        /// 建立表格2        /// </summary>        /// <returns></returns>        private PdfPTable PDFTable2()        {              //字型定義            var bfchinese = BaseFont.CreateFont(@"c:\windows\fonts\simkai.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);//simkai.ttf            var ChFont_12 = new iTextSharp.text.Font(bfchinese, 12);            var ChFont_10 = new iTextSharp.text.Font(bfchinese, 10);            var ChFont_8 = new iTextSharp.text.Font(bfchinese, 8);            var ChFont_12_red = new iTextSharp.text.Font(bfchinese, 12, iTextSharp.text.Font.ITALIC, BaseColor.RED);            var table2 = new PdfPTable(4);     //建立表格執行個體             PdfPCell cell;              cell = new PdfPCell(new Phrase(Convert.ToString(1), ChFont_10));            cell.HorizontalAlignment = 1;       //置中輸入 預設 0:居左 1:置中             cell.Colspan = 2;                   //橫向合併儲存格             table2.AddCell(cell);            cell = new PdfPCell(new Phrase(Convert.ToString(2), ChFont_8));            cell.HorizontalAlignment = 1;             cell.Rowspan = 2;                  //縱向合併儲存格            table2.AddCell(cell);            cell = new PdfPCell(new Phrase(Convert.ToString(3), ChFont_10));            cell.BackgroundColor = BaseColor.GRAY;          //設定背景顏色            table2.AddCell(cell);            cell = new PdfPCell(new Phrase(Convert.ToString(4), ChFont_12_red));   //設定字型顏色            table2.AddCell(cell);            for (int i = 0; i < 16; i++)            {                table2.AddCell((i + 1).ToString());     //添加儲存格            }              return table2;        }        /// <summary>        /// 儲存格中填加表        /// </summary>        /// <returns></returns>        private PdfPTable PDFTable3()        {             var table3 = new PdfPTable(4);            int[] a = { 1, 1, 4, 1 };          //設定列寬比例            table3.SetWidths(a);            for (int i = 0; i < 16; i++)            {                if (i == 10)                {                    PdfPCell cell = new PdfPCell(PDFTable2());      //儲存格中添加表2                    cell.Padding = 0;                               //表與儲存格間距為0;                    table3.AddCell(cell);                    continue;                }                table3.AddCell("3");     //添加儲存格            }            return table3;        }

    樣式:

    

     

 

 

 2)建立圖片

    程式:

 private void btnPDFImage_Click(object sender, EventArgs e)        {            string pdfname = string.Empty;            SaveFileDialog dlg = new SaveFileDialog();            dlg.FileName = "PDF圖片";            dlg.DefaultExt = ".pdf";            dlg.Filter = "Text documents (.pdf)|*.pdf";            if (dlg.ShowDialog() == DialogResult.OK)            {                pdfname = dlg.FileName;                FileStream fs = new FileStream(pdfname, FileMode.Create);   //建立檔案流                Document document = new Document(PageSize.A5.Rotate());     //建立檔案 PageSize.A5.Rotate()表示A5紙橫向輸出                  PdfWriter pdfWriter = PdfWriter.GetInstance(document, fs);  //執行個體化                document.Open();                         //開啟檔案                  document.Add(addImage(document));               //添加圖片                document.Add(addImage2(document));               //添加圖片                document.Close();                        //關閉檔案                fs.Close();            }        }         /// <summary>        /// PDF添加圖片        /// </summary>        /// <returns></returns>        private iTextSharp.text.Image addImage(Document document)        {            iTextSharp.text.Image hgLogo = iTextSharp.text.Image.GetInstance("yijing.jpg");            hgLogo.ScalePercent(4f);  //圖片比例            hgLogo.SetAbsolutePosition(40f, document.PageSize.Height - 100f); //iamge 位置             return hgLogo;        }        /// <summary>        /// PDF添加圖片2        /// </summary>        /// <param name="document"></param>        /// <returns></returns>        private iTextSharp.text.Image addImage2(Document document)        {            iTextSharp.text.Image hgLogo = iTextSharp.text.Image.GetInstance("yijing.jpg");            hgLogo.ScalePercent(12f);  //圖片比例            hgLogo.SetAbsolutePosition(200f, document.PageSize.Height - 400f); //iamge 位置             return hgLogo;        }

 

樣式:

ITextSharp匯出PDF表格和圖片(C#)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.