asp.net生成PDF文件参考 .
TextSharp 是用来生成 PDF 的一个组件,在 1998 年夏天的时候,Bruno Lowagie ,iText 的创作者,参与了学校的一个项目,当时使用 HTML 来生成报告,但是,使用 HTML 打印的效果很不理想。最后,他发现,使用 PDF 可以完美解决打印问题,为了能够在各个系统中使用,iText 组件库诞生了。
最初的 iText 主要是支持 Java 語言。之後針對Microsoft .NET C Sharp做了一個版本,也就是我們今天要介紹的 iTextSharp。
目前,iTextSharp 的版本是 5.1.2,下载地址:http://sourceforge.net/projects/itextsharp/files/
其中主要包含了核心组件:itextsharp.dll
但是,直接使用它并不能处理中文,你还要下载两个组件。
在下载页面中,注意图中标注的 extras 文件夹。
点击之后,可以看到如下的下载:
注意把标注的两个压缩包下载下来,这是使用中文的关键。解开两个压缩之后可以看到下面的两个文件。
iTextAsianCmaps.dll
iTextAsian.dll
在创建的项目中,将这三个程序集都添加到项目的引用中。
// 必须先加入资源
BaseFont.AddToResourceSearch(
"iTextAsian.dll"
);
BaseFont.AddToResourceSearch(
"iTextAsianCmaps.dll"
);
//"UniGB-UCS2-H" "UniGB-UCS2-V"是简体中文,分别表示横向字 和 纵向字
//"STSong-Light"是字体名称
BaseFont bf = BaseFont.CreateFont(
"STSong-Light"
,
"UniGB-UCS2-H"
, BaseFont.EMBEDDED);
// 也可以使用 TTF 字体
BaseFont bf0 = BaseFont.CreateFont(
"C:/WINDOWS/Fonts/SIMYOU.TTF"
, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
// 创建 PDF 文档
iTextSharp.text.Document document
=
new
iTextSharp.text.Document();
// 创建写入器实例,PDF 文件将会保存到这里
iTextSharp.text.pdf.PdfWriter.GetInstance(document,
new
System.IO.FileStream(
"Demo.pdf"
, System.IO.FileMode.Create)
);
// 打开文档
document.Open();
iTextSharp.text.Font font =
new
iTextSharp.text.Font(bf);
//写入一个段落, Paragraph
document.Add(
new
Paragraph(
"你好, PDF !"
, font));
document.Close();
using
System;
using
System.Data;
using
System.Configuration;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.IO;
using
iTextSharp;
using
iTextSharp.text;
using
iTextSharp.text.pdf;
public
partial
class
_Default : System.Web.UI.Page
{
static
DataTable datatable =
new
DataTable(
"testpdf"
);
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!Page.IsPostBack)
{
DataRow dr;
//建立Column例,可以指明例的类型,这里用的是默认的string
datatable.Columns.Add(
new
DataColumn(
"编号"
));
datatable.Columns.Add(
new
DataColumn(
"用户名"
));
for
(
int
i = 1; i < 5; i++)
{
dr = datatable.NewRow();
dr[0] = System.Convert.ToString(i);
dr[1] =
"测试"
+ System.Convert.ToString(i);
datatable.Rows.Add(dr);
}
}
}
protected
void
Button1_Click(
object
sender, EventArgs e)
{
try
{
Document document =
new
Document();
PdfWriter.GetInstance(document,
new
FileStream(Server.MapPath(
"Test.pdf"
), FileMode.Create));
document.Open();
BaseFont bfChinese = BaseFont.CreateFont(
"C:\\WINDOWS\\Fonts\\simsun.ttc,1"
, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fontChinese =
new
Font(bfChinese, 12, Font.NORMAL,
new
Color(0, 0, 0));
//按设置的字体输出文本
document.Add(
new
Paragraph(
this
.TextBox1.Text.ToString(), fontChinese));
//输出图片到PDF文件
iTextSharp.text.Image jpeg01 = iTextSharp.text.Image.GetInstance(Server.MapPath(
"Images/gyl.jpg"
));
document.Add(jpeg01);
iTextSharp.text.Image jpeg02 = iTextSharp.text.Image.GetInstance(Server.MapPath(
"Images/yy.jpg"
));
document.Add(jpeg02);
PdfPTable table =
new
PdfPTable(datatable.Columns.Count);
for
(
int
i = 0; i < datatable.Rows.Count; i++)
{
for
(
int
j = 0; j < datatable.Columns.Count; j++)
{
table.AddCell(
new
Phrase(datatable.Rows[i][j].ToString(), fontChinese));
}
}
document.Add(table);
document.Close();
Response.Write(
"<script>alert('导出成功!');</script>"
);
}
catch
(DocumentException de)
{
Response.Write(de.ToString());
}
}
}
asp.net生成PDF文件参考 .的更多相关文章
- asp.net生成PDF文件 (1)
asp.net生成PDF文件 (1) 这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: 1 2 3 4 5 6 7 8 9 10 11 ...
- asp.net生成PDF文件(一)
这个是例子是网上淘来的,哈哈,很有用的! 首先要到网上下载itextsharp.dll,然后添加引用,主程序如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 ...
- itextsharp c# asp.net 生成 pdf 文件
一切的开始必须要有2个dll, 可以通过nuget 包xiazai, 关键字是itextsharp. using iTextSharp.text; using iTextSharp.text.pdf; ...
- 在C#.NET中,如何生成PDF文件?主要有以下几个途径
1.使用.NET文件流技术:若通过.NET的文件流技术生成PDF文件,必须对PDF文件的语法很清楚,例如BT表示实体内容开始:ET表示实体内容结束:TD表示换行等等.我们可以从Adobe的官方网站上下 ...
- java调用wkhtmltopdf生成pdf文件,美观,省事
最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...
- 在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all
在js内生成PDF文件并下载的功能实现(不调用后端),以及生成pdf时换行的格式不被渲染,word-break:break-all 前天来了个新需求, 有一个授权书的文件要点击下载, 需要在前端生成, ...
- JavaWeb项目生成PDF文件添加水印图片并导出
一.前言 首先需要在Maven中添加相应的jar包依赖,若项目没用到Maven,也可自行下载相应所需的jar包(itextpdf.jar 与 itext-asian.jar),如下图所示.点此下载 M ...
- 小容量单片机生成pdf文件
工作上要求使用小容量单片机生成直接生成pdf文件.经过一段时间的摸索,其中参考了libharu,库太大,不适合在单片机上使用页参考了与非网上一位前辈的库,占用的RAM太大,不适合小容量单片机,主要资料 ...
- [itext]Java生成PDF文件
一.前言 最近在做也导出试卷的功能,刚开始是导出为doc,可是导出来格式都有变化,最后说直接将word转为pdf,可是各种不稳定,各种报错.最后想到直接将文件写入pdf(参考:http://www.c ...
随机推荐
- Javascript框架设计思路图
这个系列的随笔都是关于Javascript框架设计一书的读书笔记(作者是司徒正美),不是本人原创!!! 一.简介: 1.市面上主流的JS框架,大多数是由一个个模块组合而成,模块化是大多数让软件所遵循的 ...
- 《Algorithms算法》笔记:元素排序(1)——简单排序
<Algorithms算法>元素排序(1)——简单排序 Algorithms算法元素排序1简单排序 排序问题 1 回调函数 2Java中回调函数的路线图 3 全序 4 Comparable ...
- PHP之string之addslashes()函数使用
addslashes (PHP 4, PHP 5, PHP 7) addslashes - Quote string with slashes addslashes - 使用反斜线引用字符串 Desc ...
- MySQL数据库-错误1166 - Incorrect column name 'xxx' 的解决方法
在用Navicat for MySQL给MySQL数据库修改表的字段时报如下的错误: 解决方法:检查字段里面是不是有空格,去掉就可以了.
- 3行代码,为QQ轻游戏加上语音互动能力
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云 发表于云+社区专栏 游戏和社交往往有着密不可分的关系,QQ轻游戏就是一款集成在手Q里面的游戏平台,直接通过手Q入口就能随开 ...
- JDBC连接Greenplum数据库,封装了增删改查
要启动好gp服务,再尝试连接 192.168.94.135是主节点(master)的ip 驱动Jar包在官网获取 嫌麻烦,可以直接用我在网盘分享的Jar包,版本较老 链接:https://pan.ba ...
- Sumblime Text 2/3 插件安装方法
使用Package Control组件安装 按Ctrl+`调出console(注:安装有QQ输入法的这个快捷键会有冲突的,输入法属性设置-输入法管理-取消热键切换至QQ拼音): 如果是sublime ...
- 【AppScan】入门工作原理详解
AppScan,即 AppScan standard edition.其安装在 Windows 操作系统上,可以对网站等 Web 应用进行自动化的应用安全扫描和测试.Rational AppScan( ...
- [转] .NET出现频率非常高的笔试题
又到了金三银四的跳槽季,许多朋友又开始跳槽了,这里我简单整理了一些出现频率比较高的.NET笔试题,希望对广大求职者有所帮助. 一..net基础 1. a=10,b=15,请在不使用第三方变量的情况下 ...
- mybatis之typehandles
mybatis之typehandles 无论是Mybatis在预处理语句PreparedStatement中设置一个参数时,还是从结果集中取出一个值时,都会用类型处理器将获取的值以合适的方式转换成ja ...