原文 [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這個檔案加入參考
02 |
using System.Collections.Generic; |
06 |
using System.Web.UI.WebControls; |
08 |
using iTextSharp.text; |
09 |
using iTextSharp.text.pdf; |
11 |
public partial class _Default : System.Web.UI.Page |
13 |
protected void Page_Load(object sender, EventArgs e) |
16 |
Document Doc= new Document(); |
18 |
MemoryStream Memory= new MemoryStream(); |
20 |
PdfWriter PdfWriter = PdfWriter.GetInstance(Doc, Memory); |
23 |
string FontPath = Server.MapPath("kaiu.ttf"); |
25 |
BaseFont bfChinese = BaseFont.CreateFont(FontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); |
27 |
Font ChFont = new Font(bfChinese, 9); |
32 |
//設定表格需要幾攔幾列 (如果不設列,可能會在使用RowSpan或ColSpan發生錯誤) |
33 |
iTextSharp.text.Table Tb = new iTextSharp.text.Table(4,5); |
36 |
//自動填滿欄位(如果沒有填滿欄位,不會畫出欄位的線條) |
37 |
Tb.AutoFillEmptyCells = true; |
40 |
Paragraph Title = new Paragraph("iTextSharp畫表格測試", ChFont); |
42 |
Title.SetAlignment("center"); |
45 |
iTextSharp.text.Cell Tc; |
46 |
Tc= new iTextSharp.text.Cell(new Phrase("點部落",ChFont)); |
48 |
Tc.HorizontalAlignment = Element.ALIGN_CENTER; |
49 |
//內容高度置中 (Top,Middle感覺不到有沒有移動) |
50 |
Tc.VerticalAlignment = Element.ALIGN_TOP; |
57 |
Tc = new iTextSharp.text.Cell(new Phrase("www.dotblogs.com.tw", ChFont)); |
59 |
Tc.HorizontalAlignment = Element.ALIGN_CENTER; |
60 |
//內容高度置中(Top,Middle感覺不到有沒有移動) |
61 |
Tc.VerticalAlignment = Element.ALIGN_TOP; |
86 |
Response.AddHeader("Content-Disposition", "attachment; filename=pdfExample.pdf"); |
87 |
Response.ContentType = "application/octet-stream"; |
89 |
Response.OutputStream.Write(Memory.GetBuffer(), 0, Memory.GetBuffer().Length); |
90 |
Response.OutputStream.Flush(); |
91 |
Response.OutputStream.Close(); |
- 你也可以手绘二维码(二)纠错码字算法:数论基础及伽罗瓦域GF(2^8)
摘要:本文讲解二维码纠错码字生成使用到的数学数论基础知识,伽罗瓦域(Galois Field)GF(2^8),这是手绘二维码填格子理论基础,不想深究可以直接跳过.同时数论基础也是 Hash 算法,RS ...
- JointBoost+CRF+GraphCut做手绘草图的分割
研究生做的稍微有点水平的就这两个项目了:一个是利用SVM做手绘草图的分类,另一个是利用JointBoost+CRF做手绘草图的分割.总结得出的经验是做研究的方法就是将别人大神的代码看懂然后改成适合自己 ...
- Android基于mAppWidget实现手绘地图(一)--简介
http://lemberg.github.io/mappwidget/user_guide.html 最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图.这种小范围使 ...
- EDIUS手绘遮罩功能如何用
学了这么久的EDIUS视频编辑软件,你们学的怎么样了呢?你们知道EIDUS手绘遮罩的用法么,会熟练地使用它么?如果你们还没有学到这一知识点的话也不要着急,因为你们看完下面这篇文章就会明白了.事不宜迟, ...
- 免费下载:320+ 手绘风格 Apple iOS7 图标
Themify 图标是一套用在网页设计和应用程序的图标,包括 320+ 手工制作的像素完美的苹果 iOS7 图标中汲取灵感.这些图标完全免费,您可以用于任何目的,无论是个人或商业. 您可能感兴趣的相 ...
- IOS 手绘地图导航
手绘地图导航 第三方库 NAMapKit, 1)支持在手绘图上标记.缩放 2)支持在单张图片 3)支持瓦片小图片 思路 前提:美工已经切好手绘图,并告知我们当前的缩放级别. 1)确定好手绘图左上角点在 ...
- 基于mAppWidget实现手绘地图(十五)–如何控制放大缩小
一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 使用控件底部的缩放按钮 双击控件 pinch手势 物理按键 :I键标识缩小 :O键表示放大.(只有设备具有物理按键才行) 当然, ...
- [ASP.NET]利用itextsharp将GridView汇出PDF档
原文 [ASP.NET]利用itextsharp将GridView汇出PDF档 最近在讨论区看到有人说itextsharp可以把网页变成PDF 小弟就去抓一下itextsharp来玩玩,先教大家最实用 ...
- 基于mAppWidget实现手绘地图--索引&DEMO
文章翻译完了,梳理一下,附Demo下载 基于mAppWidget实现手绘地图(一)–简介 基于mAppWidget实现手绘地图(二)–概要 基于mAppWidget实现手绘地图(三)–环境搭建 基于m ...
随机推荐
- Android滑动事件冲突
首先,我们假设这样一个场景:一个ViewPager里面嵌套一个ViewPager,内部滑动方向和外部滑动方向一样时,该怎么解决这一冲突呢? 针对滑动冲突这里给出两种解决方案:外部拦截法,内部拦截法. ...
- JBPM6教程
JBPM6教程-手把手教你安装JBPM 1. 安装JBPM的先决条件: (1)JDK 1.6+以上,没有安装的话,猛击这里. (2)Ant 1.7+以上,没有安装的话,看看这里. 2. 下载JBPM安 ...
- r语言之散点图绘制及参数
一个简单的例子: > plot(cars$dist~cars$speed,+ main="车位移与速度的关系",+ xlab="速度",+ ylab=&q ...
- WebService开发实例(Axis2实现,无需安装,快速实现)
曾经做过的项目里涉及Android客户端向服务器发送请求,服务器访问数据库获得数据并返回给Android客户端.当时Android客户端与服务器的通信已经实现,我只负责客户端布局和数据呈现的部分,近日 ...
- WebHdfs
https://github.com/ihrwein/webhdfs https://tiborbenke.blogs.balabit.com/2013/11/the-syslog-ng-in-the ...
- HTTP BIN测试
http://httpbin.org/ Tracing XML request/responses with JAX-WS: http://stackoverflow.com/questions/19 ...
- GitHub学习笔记
安装 Ubuntu上安装Git sudo apt-get install git Windows上安装Git msysgit是Windows版的Git.从http://msysgit.github.i ...
- linux搭建java环境
建议使用EXCEL查看 准备文件 apache-tomcat-7.0.57.tar tomcat web容器 server-jre-7u76-linux-x64.tar java jdk java执 ...
- java学习——入门扫盲篇
概要 近期这几天開始进入java的学习,接触到了好多不是非常了解的概念,像JDK.JRE.JVM.GC等等这些,放到这里来进行下扫盲. java java是一种面向对象程序设计语言和java平台的总称 ...
- Eclipse中设置tomcat的启动内存
现象:眼下每次使用Eclipse启动Tomcat 的时候常常出现OutOfMemoryError thrown from the UncaughtExceptionHandler in thread ...