有谁做过用itextsharp显示pdf实现aspx转pdf的

ITextSharp 生成PDF实例,实例中还包含调用模版生成Word功能 附完整源码
C#文件解析和处理
开发语言:C#
实例大小:1.64M
下载次数:
浏览次数:
发布时间:
实例类别:C#文件解析和处理
发 布 人:
所需积分:2
&相关标签:
同类人气实例源码
实例下载地址
ITextSharp 生成PDF实例,实例中还包含调用模版生成Word功能 附完整源码
不能下载?内容有错? 点击这里报错
好例子口号:伸出你的我的手 & 分享!
1 楼 lanerry 发表于:
正好需要这个的东西。。谢谢楼主
2 楼 lixiaoxiong 发表于:
正好需要这个的东西。。谢谢楼主
3 楼 guoquan913 发表于:
我来说两句...
4 楼 guoquan913 发表于:
没有积分啊
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
Copyright &
好例子网(www.haolizi.net).All Rights Reserved备案编号:冀ICP备号 石公备号(10)有谁做过用itextsharp实现aspx转pdf的_百度知道
有谁做过用itextsharp实现aspx转pdf的
提问者采纳
用HtmlParser.Parse(document,&d:\\a.htm&);可以,但是如果导出的PDF文件不能识别中文;如果要支持中文BaseFont bfHei = BaseFont.CreateFont(@&C:\WINDOWS\Fonts\STFANGSO.TTF&, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); iTextSharp.text.Font
font = new iTextSharp.text.Font(bfHei, 12); PdfPTable table = new PdfPTable(3);table.AddCell(new Paragraph(&asda撒大苏打上&, font));document.Add(table);这样可以,但是我的html很复杂,这样去写会累死人的,谁有类似HtmlParser.Parse的中文解决方案.高人们,请伸出你们的援手.
来自团队:
其他类似问题
为您推荐:
itextsharp的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁【译】在Asp.Net中操作PDF - iTextSharp - 使用字体
紧接着前面我对iTextSharp简介博文,iTextSharp是一个免费的允许Asp.Net对PDF进行操作的第三方组件。本篇文章讲述如何在你创建的PDF文档中使用各种字体。如果你还没有阅读我的,我强烈推荐你现在就阅读iTextSharp的简介.
&&&&&& iTextSharp默认支持14种字体,分别为:Courier, Courier Bold, Courier Italic, Courier Bold and Italic, Helvetica, Helvetica Bold, Helvetica Italic, Helvetica Bold and Italic, Times Roman, Times Roman Bold, Times Roman Italic, Times Roman Bold and Italic, Symbol, ZapfDingBats&.因为Times Roman已经有了替代品Times New Roman,所以iTextSharp的默认字体为Helvetica, 12pt,黑色,也就是所谓的正常(Normal)字体。
&&&&&& iTextSharp提供了3种主要方式来设置字体:一种是使用BaseFont.CreateFont()方法,第二种方法是使用FontFactory.GetFont()方法。第三种方法是直接生成一个新的Font对象,BaseFont.CreateFont()有很多局限性,表现在仅仅是生成一个新的字体定义。new Font()允许-------------,FontFactory.GetFont()返回一个你可以直接操作的Font对象。并且提供了14种不同的重载来给你提供更多选项,所以通常来说你可能会使用这个方法,但是开始将这个方法之前,让我们先来看一看BaseFont.CreateFont()方法:
BaseFont bfTimes = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false);
Font times = new Font(bfTimes, 12, Font.ITALIC, Color.RED);
&&&&&&& 上面的代码创建了一个BaseFont对象并且使用内置的constant值来设置字体类型和编码类型。在是否将字体嵌入PDF中选择了False以减少PDF的大小.但是如果你的字体在大多数用户的电脑中都没有时,亦或是你打算在专业的印刷设备中印刷出你的pdf时,这项你必须选择为True.使用BaseFont来创建一个新的Font对象,下一行代码进一步从字体大小,字体风格,颜色来设置字体,当然,我们依然使用内置的constant类型值,下面,将上述风格字体加入段落:
string path = Server.MapPath(&PDFs&);
Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(path + &/Font.pdf&, FileMode.Create));
doc.Open();
doc.Add(new Paragraph(&This is a Red Font Test using Times Roman&, times));
doc.Close();
&& 结果如下:
&&& 现在开始说FontFactory.GetFont()方法,这个方法提供了14种不同的重载来让你对字体的任何方面进行设置,包括:字体,颜色, 风格,是否嵌入,编码以及缓存等.每次你调用FontFactory.GetFont()时都会返回一个新的对象.这个方法对于字体的设置可以对任何在iTextSharp中注册的字体进行生效。在iTextSharp中注册的字体包括windows字体的默认目录,在WIN XP下,这个目录一般为&C:/WINDOWS/Fonts&,如果你想知道哪些字体在iTextSharp中已注册,FontFactory.RegisteredFonts将会告诉你答案,查看这个列表对于我们想获得确切的字体名称尤为重要:
int totalfonts = FontFactory.RegisterDirectory(&C:\\WINDOWS\\Fonts&);
StringBuilder sb = new StringBuilder();
foreach (string fontname in FontFactory.RegisteredFonts)
& sb.Append(fontname + &\n&);
doc.Add(new Paragraph(&All Fonts:\n& + sb.ToString()));
Font arial = FontFactory.GetFont(&Arial&, 28, Color.GRAY);
Font verdana = FontFactory.GetFont(&Verdana&, 16, Font.BOLDITALIC, new Color(125, 88, 15));
Font palatino = FontFactory.GetFont(
&&palatino linotype italique&,
& BaseFont.CP1252,
& BaseFont.EMBEDDED,
& Font.ITALIC,
& Color.GREEN
Font smallfont = FontFactory.GetFont(&Arial&, 7);
Font x = FontFactory.GetFont(&nina fett&);
x.Size = 10;
x.SetStyle(&Italic&);
x.SetColor(100, 50, 200);
&&& 如你所见,上面的一些方法使用iTextSharp的Color对象的constant值来设置字体颜色,还有诸如使用SetColor()方法传入RGB值或是New一个Color对象传入。通常情况下,我们都可以传入int值作为字体风格参数,或者使用SetStyle()方法传入一个字符串。当然,生成Font还有很多种参数传入方式,使用Intellisense或是对象浏览器来查看更确切的参数使用方法.
&&& 有时候你会遇到在WEB服务器上你没有权限安装字体,这时你必须显示在iTextSharp中注册字体了:
string fontpath = Server.MapPath(&.&);
BaseFont customfont = BaseFont.CreateFont(fontpath + &myspecial.ttf&, BaseFont.CP1252, BaseFont.EMBEDDED);
Font font = new Font(customfont, 12);
string s = &My expensive custom font.&;
doc.Add(new Paragraph(s, font));&&&
&& 上面代码中你也许会注意到字体文件是嵌入PDF中的(BaseFont.EMBEDDED),因为很多情况下你创建的PDF中的字体在用户的电脑上并不存在。
translated by careyson
&script&&/script&通过 iTextSharp 实现PDF 审核盖章
&最近需要做一个PDF自动审核盖章的工作,其实就是读取PDF,然后再最后一页加入一个审核章印图 片上去。看起来很简单,不过在开发过程中,还是遇到了一些问题,在这里记录一下。
主要遇到的问题是页面的旋转 和 内容的旋转 的分开的,需要分别操作。
准备工作需要下载 iTextSharp.dll 然后加入引用
using iTextSharp.
using iTextSharp.text.
string path = @&D:\28727_LOG001_FOLIOLE COMPANY LIMITED_STOCK_PI&;
// 创建一个PdfReader对象
PdfReader reader = new PdfReader(path + &.pdf&);
// 获得文档页数
int n = reader.NumberOfP
// 获得第一页的大小
Rectangle psize = reader.GetPageSize(1);
float width = psize.W
float height = psize.H
// 创建一个文档变量
Document document = new Document(psize);
// 创建该文档 生成物理文件
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(path + &_APPROVE.pdf&, FileMode.OpenOrCreate));
// 打开文档
document.Open();
// 添加内容
PdfContentByte cb = writer.DirectC
for (int i = 0; i & )
//设置指定页的PagSize 包含Rotation(页面旋转度)
document.SetPageSize(reader.GetPageSizeWithRotation(i));
//创建一个新的页面,需要注意的调用NewPage() ,PdfContentByte cb 对象会默认清空
document.NewPage();
//获取指定页面的旋转度
int rotation = reader.GetPageRotation(i);
//获取加载PDF的指定页内容
PdfImportedPage page1 = writer.GetImportedPage(reader, i);
//添加内容页到新的页面,并更加旋转度设置对应的旋转
switch (rotation)
cb.AddTemplate(page1, 0, -1, 1, 0, 0, reader.GetPageSizeWithRotation(i).Height);
cb.AddTemplate(page1, -1, 0, 0, -1, reader.GetPageSizeWithRotation(i).Width, reader.GetPageSizeWithRotation(i).Height);
cb.AddTemplate(page1, 0, 1, -1, 0, reader.GetPageSizeWithRotation(i).Width, 0);
cb.AddTemplate(page1, 1, 0, 0, 1, 0, 0);//等同于 cb.AddTemplate(page1, 0,0)
if (i == n)//如果是最后一页加入指定的图片
               //不同旋转度的页面 图片位置left距离的调整
   int imgLeft = 350;
               if(rotation==90 || rotation==270)
               {
imgLeft = 550;
//创建一个图片对象
iTextSharp.text.Image img = iTextSharp.text.Image.GetInstance(new Uri(@&d:\Lock-icon.png&));
//设置图片的指定大小
//img.ScaleToFit(140F, 320F);
//按比例缩放
//img.ScalePercent(50);
//把图片增加到内容页的指定位子
b width c height
e bottom f left
cb.AddImage(img, 0, 32F, 32F, 0, 50F, imgLeft);
//开始增加文本
cb.BeginText();
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA_OBLIQUE, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
//设置字体 大小
cb.SetFontAndSize(bf, 9);
//指定添加文字的绝对位置
cb.SetTextMatrix(imgLeft, 200);
//增加文本
cb.ShowText(&GW INDUSTRIAL LTD&);
cb.EndText();
// 关闭文档
document.Close();
catch (Exception de)
Console.Error.WriteLine(de.Message);
Console.Error.WriteLine(de.StackTrace);
【声明】:黑吧安全网()登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱,我们会在最短的时间内进行处理。
上一篇:【】【】}

我要回帖

更多关于 itextsharp修改pdf 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信