[ASP.NET]以iTextSharp手绘表格并产生PDF下载

原文 [ASP.NET]以iTextSharp手繪表格並產生PDF下載

大家使用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 }
时间: 2024-09-28 14:05:05

[ASP.NET]以iTextSharp手绘表格并产生PDF下载的相关文章

Asp.Net实现无限分类生成表格的方法(后台自定义输出table)_实用技巧

本文实例讲述了Asp.Net实现无限分类生成表格的方法.分享给大家供大家参考,具体如下: 数据结构 monitor_group monitor_grp_id      monitor_grp_name     parent_id       level               childCount       orderby [int,自动递增]           [nvarchar,not null]      [int,not null]  [int,not null]   [int,

ps把照片处理成素描手绘效果

教程教朋友们用ps把照片处理成素描手绘效果,教程其实大致和手绘效果的制作很类似.就是加上一些简单的线条勾勒即可作出效果了.先来看看效果图: 教程素材: 具体的制作步骤如下: 步骤1 打开素材,ctrl+shift+u去色或者图像>调整>去色: 步骤2 图像>调整>色阶,数值如图: 看看你现在的效果是否跟这里的效果一样: 步骤3 分类: PS图片处理

PS动漫手绘风照片制作三步曲

  动漫手绘风照片制作三步曲:1.前期准备2.后期PS制作以及素材的准备3.润色做光效做质感,比较多的实用技巧,换背景.抠图.调色,值得借鉴学习 分类: PS图片处理

Photoshop教程:仿手绘神话小川照片

转手绘又名转鼠绘.仿手绘,仿鼠绘等.就是利用PS将人物或风景等照片转变成类似于手绘效果的一种图片处理方法. 序言:转手绘又名转鼠绘.仿手绘,仿鼠绘等.就是利用PS将人物或风景等照片转变成类似于手绘效果的一种图片处理方法.与手绘不同的是转手绘不需要太浓厚的手绘功底,因为是转而不是纯手绘.只要在原图基础上加以修饰有点类似手绘效果即可. 原图 最终效果 1.打开原图素材,简单的给人物磨皮和调色,效果如下图. 2.选择钢笔工具分别对衣服各种颜色选取并填充自己喜爱的颜色.填色时候一个图层填充一种颜色,方便

Photoshop把美女照片转化成手绘素描效果

  本教程主要使用Photoshop把美女照片转化成手绘素描效果,教程写的很详细,大家可以看下.本人喜欢桂纶镁就拿她的照片了.需要照片原图的话,可以度娘桂纶镁,下面一起来学习吧. 分类: PS图片处理

PS把漂亮的MM照片转唯美手绘简单教程

原图 效果 详细转手绘的教程 相关教程: PS把普通照片转为漫画手绘效果的教程 ps把照片处理成素描手绘效果 Photoshop把头像转成卡通手绘效果 Photoshop把小女孩照片快速转为质感手绘效果 分类: PS图片处理

PS将照片转换成手绘素描风格

  本文主要聚焦于 阴影/高光以及曲线,嗯,还联系到一点智能对象. 通过改变对比度,以及黑白调整图层,你能掌握一种将图像转换为手绘图效果的技法. 最终的结果看起来像是手绘图,然后要通过笔刷的微调来打造一种更质朴的手绘感. 01. 增强对比度 首先,下载源文件,然后导入图像.为了强调 眼睛 这一重要区域,选择图层>新建调整图层>曲线. 然后调整最中间的点(第二条竖线上的点),像上图那样上移该点,(准确的是输入值130,输出值197),这样就会加亮中间调.第一条竖线上的点输入61,输出77. 02

Photoshop将照片转换成素描图 再通过笔刷替换 添加手绘风格

  信许多人都有一个画家梦,但是画画这件事,不是一天两天就可以学得成的,需要"冬练三九夏练三伏".对于大多数人来说,我们很难有时间再系统学习.其实"它山之石可以攻玉",借助别人开发出的资源,我们可以分分钟变"画家".下面的方法主要有两大步骤,首先是通过Photoshop技巧将照片转换成素描图,再通过笔刷替换的方法,进一步为素描图添加手绘风格. 方法/步骤 1.易上手的照片变素描 网上虽有不少方法教我们如何通过某个滤镜,一键将照片变成素描,但效果都

Photoshop把人像照片变成洋娃娃手绘效果

  本教程主要使用Photoshop把人像照片变成唯美大气的手绘效果,转手绘的效果很多,今天在和大家来温习一下教程,这个最终效果很漂亮的说,喜欢的朋友一起来学习吧. 效果图: 原图: 打开图像,放大. 适当调色,调成自已想要颜色 复制一层中间值用柔角笔刷开透明度擦去五官 再次复制图层中间值 拼合图层 新建透明图层 眼睛的刻画. 分类: PS入门教程