新闻资讯 | 控件产品 | 技术文章 | 购物车 | 合作伙伴 | 问题解答 | 电子简报 | PDF论坛 | 资源下载
您现在的位置:技术文章>PDF开发篇 首页|PDF应用篇|PDF开发篇|解决方案

以iTextSharp手繪表格並生成PDF下載

发布日期:2012-1-17 作者:未知 出处:网络

 

原文地址:http://www.dotblogs.com.tw/whitewing/archive/2010/03/21/14146.aspx

大家使用iTextSharp的機緣都不太一樣, 由於單位Crystal Report的License數量有限主管要我去找一個免費產生PDF方法, 避免Crystal Report的License使用過多, 於是乎就找上了iTextSharp.

 Crystal Report 與 iTextSharp比較表

  Crystal Report iTextSharp
視覺化界面 YES NO
轉換成PDF YES YES
費用 YES NO
 
第一次總是特別辛苦的, 為了畫出一張收據, 沒有視覺化界面的幫忙, 透過大腦的想像, 終於完成了任務, 但是對於使用Crystal Report的老手們, 應該相當不習慣, 因為看不見畫的東西, 對他們是不方便的, 但可以省錢, 我想老闆不會說不, 最後我把我學習的成果做成一個範例.
 
請記得先去網站下載iTextSharp.dll這個檔案加入參考 
01 using System;
02 using System.Collections.Generic;
03 using System.Linq;
04 using System.Web;
05 using System.Web.UI;
06 using System.Web.UI.WebControls;
07 using System.IO;
08 using iTextSharp.text;
09 using iTextSharp.text.pdf;
10   
11 public partial class _Default : System.Web.UI.Page 
12 {
13     protected void Page_Load(object sender, EventArgs e)
14     {
15         //文件初始化
16         Document Doc= new Document();
17   
18         MemoryStream Memory= new MemoryStream();
19   
20         PdfWriter PdfWriter = PdfWriter.GetInstance(Doc, Memory);
21   
22         //字型設定
23         string FontPath = Server.MapPath("kaiu.ttf");
24   
25         BaseFont bfChinese = BaseFont.CreateFont(FontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
26   
27         Font ChFont = new Font(bfChinese, 9);
28   
29         //文件開啟
30         Doc.Open();
31   
32         //設定表格需要幾攔幾列 (如果不設列,可能會在使用RowSpan或ColSpan發生錯誤)
33         iTextSharp.text.Table Tb = new iTextSharp.text.Table(4,5);
34         //設定表格的Padding
35         Tb.Padding = 4;
36         //自動填滿欄位(如果沒有填滿欄位,不會畫出欄位的線條)       
37         Tb.AutoFillEmptyCells = true;
38   
39         //抬頭
40         Paragraph Title = new Paragraph("iTextSharp畫表格測試", ChFont);
41         //內容水平置中
42         Title.SetAlignment("center");
43   
44         //Cell內容
45         iTextSharp.text.Cell Tc;
46         Tc= new iTextSharp.text.Cell(new Phrase("點部落",ChFont));
47         //內容水平置中
48         Tc.HorizontalAlignment = Element.ALIGN_CENTER;
49         //內容高度置中 (Top,Middle感覺不到有沒有移動)
50         Tc.VerticalAlignment = Element.ALIGN_TOP;
51         Tc.Rowspan = 2;
52         Tc.Colspan = 2;
53           
54         //將Cell加入表格
55         Tb.AddCell(Tc);
56   
57         Tc = new iTextSharp.text.Cell(new Phrase("www.dotblogs.com.tw", ChFont));
58         //內容水平置中
59         Tc.HorizontalAlignment = Element.ALIGN_CENTER;
60         //內容高度置中(Top,Middle感覺不到有沒有移動)
61         Tc.VerticalAlignment = Element.ALIGN_TOP;
62         Tc.Rowspan = 2;
63         Tc.Colspan = 2;
64   
65         Tb.AddCell(Tc);
66         
67         //加入抬頭
68         Doc.Add(Title);
69         //把表格加入文件
70         Doc.Add(Tb);
71   
72         //開啟新的一頁
73         Doc.NewPage();
74   
75         //加入抬頭
76         Doc.Add(Title);
77         //把表格加入文件
78         Doc.Add(Tb);
79   
80         //文件關閉
81         Doc.Close();
82   
83   
84         //檔案下載
85         Response.Clear();
86         Response.AddHeader("Content-Disposition", "attachment; filename=pdfExample.pdf");
87         Response.ContentType = "application/octet-stream";
88   
89         Response.OutputStream.Write(Memory.GetBuffer(), 0, Memory.GetBuffer().Length);
90         Response.OutputStream.Flush();
91         Response.OutputStream.Close();
92         Response.Flush();
93         Response.End();
94   
95     }
96 }
 
 
发布人:管理员 【报告错误】·【推荐好友】·【打印文章】
相关评论 本文现有 0 条评论 评分人数: 0 平均分: 0
相关评论
用户名: 密  码:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
注意:请不要在评论中含与内容无关的广告链接,违者封ID
文章搜索
推荐文章
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
循序渐进学习iTextShar
热门点击
一个简单的PDF文件结构的分析(22650)
PHP的FDF文档支持(16241)
用C#制作PDF文件全攻略(13667)
Word转换PDF格式的C#或(12182)
pdfMaker文章:PDF加(11670)
ITextRenderer学习(11597)
PDF文件加密仿真(11097)
怎样用iReport制作Web(10454)
iText PDF概述(1)(10006)
循序渐进学习iTextShar(9909)
热门评论
从pdf文档中提取出文本(8)
PDFlib开发:创建超文本元(2)
客户端自动打印PDF(Prin(2)
浅谈PDFlib中文输出(一)(2)
xml的转换之pdf 2 ((1)
xml的转换之pdf 1 (x(1)
PDF知识讲座(1)(1)
PDFBox使用简介(1)
使用正则表达式计算PDF文档的(1)
word转pdf(1)