iTesxShap中没有支持中文的解决方法
来源:互联网 发布:南师大心理测评软件 编辑:程序博客网 时间:2024/05/29 17:00
这两天一直在搞生成PDF文件的工作,由于以前没有做过,所以在WEB上Search了N遍,才找出了个大概。
其中,最多人遇到的问题是:不能显示中文。那是因为iTextSharp控件默认的字体只有英文,它不像WORD,若是没有所指定的字体会直接用宋体来代替。
具体解决方法如下:
(可以把C:/WINDOWS/Fonts目录下的所有文件拷贝到你项目的文件下,我这是直接用C盘里面的,XP系统)
Document document = new Document(PageSize.A4.Rotate());
try
{
//设置字体类型
BaseFont bfHei = BaseFont.CreateFont(@"c:/windows/fonts/SIMHEI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(@"C:/Documents and Settings/Administrator/桌面/my.pdf", FileMode.Create));
document.Add(new Paragraph ("我可是能够显示的哦!"));
}
catch (DataException de)
{
Response.Write(de.Message);
}
catch (IOException ioe)
{
Response.Write(ioe.Message);
}
finally
{
document.Close();
}
当然那两个文件路径可以用Server.MapPath ()方法设置为虚拟路径
其中换行的方法,我暂时还没有学到呢。但是用表格来做的话,内容满一行会自动换行的。
还有种方法是用PdfContentByte在绝对位置输出你想要的内容,如下:
//项目名称
PdfContentByte cb = writer.DirectContent;
cb.BeginText();
cb.SetFontAndSize(bfHei, 20);
cb.SetTextMatrix(200, 448);
string name = "项目名称: ";
cb.ShowText(name);
cb.EndText();
//下划线
cb.MoveTo(300, 445);
cb.LineTo(640, 445);
cb.Stroke();
暂时学到这么点东东,偷空拿到网上来跟大家交流,请大家多多指教!
- iTesxShap中没有支持中文的解决方法
- QT4中QSettings类支持中文的解决方法
- GeoTools支持中文的解决方法
- 台湾的数据库中文支持的解决方法
- JAVA支持中文问题的解决方法。。
- myeclipse中项目名有红叉,但项目中文件没有报错的解决方法
- Ubuntu支持中文解决方法
- mtk的Bin档没有中文语言支持的问题
- ubuntu 13.04 没有语言支持(language support)的解决方法
- ubuntu上移动硬盘中文件没有可执行权限的解决方法
- SqlExpress中没有northwind数据库的解决方法
- linux中ifconfig没有ip的解决方法
- ifconfig 中没有显示IP的解决方法
- JDK中没有Servlet包的解决方法
- window组件中没有IIS的解决方法!
- myeclipse中没有Project Facets的解决方法
- ubuntu中Eclipse没有菜单的解决方法
- JSP中对中文的支持
- 中国各省市DNS服务器列表
- [连载]基于消息驱动的面向对象通用C/S应用框架(五)
- moss内置控件包装器
- .net控件FreeTextBox使用方法
- 什么是微软最有价值专家 (MVP)
- iTesxShap中没有支持中文的解决方法
- 山寨版火车票实名制具体方案(征求意见稿)
- Oracle调优总结
- 最好的web打印方法
- Developer.com 2009年度的产品大奖公布,netbeans获五个大奖
- 使用gprof和oprofile查找性能瓶颈
- Web性能测试术语
- MS Excel MVP的作品集(特供大头网站)
- Oracle函数总结