解决方案 »
- 哭求C#版BCD的编码和解码
- [100分问题] 项目之间自定义控件调用的问题
- wpf datagrid如何分组且如何获取分组后的每组数据
- 分享:Ajax读写Session值
- VC和VB怎么调用C#的组件呀
- .net连接oracle问题
- 包含uniqueidentifier类型字段的表的输入问题
- winform中使用webBrowser的session问题
- 后台生成的button怎么添加click事件
- 请问比如有两个变量(int) a,b,且a=b(把b的值付给a) ..怎么才能让以后b变化的时候a保持不变..谢谢..急
- 使用C#上传文件,如何使上传的文件自包括在项目中?
- 关于静态函数和普通类成员函数谁比较好
http://sourceforge.net/projects/itextsharp/files/extras/
然后解开里面的iTextAsian.dll(是2.1版的),拷贝到运行目录下(比如bin/debug)程序中加上下面语句:
iTextSharp.text.io.StreamUtil.AddToResourceSearch(Assembly.Load("iTextAsian")); // 或者用LoadFile加载,如果文件拷贝到其它目录下的话
BaseFont baseFont = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
var font = new Font(baseFont, 12);
非常感谢您的回复
按照您的步骤实行完毕,没有问题。
还想追加问一下,这种方式在PDF中写入内容时可以正确显示中文
当使用PDF表单,进行填表操作的时候没有办法显示,是不是我写的步骤有问题?
还望帮忙确认,谢谢
reader = new PdfReader(sFmtPath);
PdfStamper stamp = new PdfStamper(reader, new FileStream(OutputPdfName, FileMode.Create));
AcroFields form = stamper.AcroFields;
iTextSharp.text.io.StreamUtil.AddToResourceSearch(Assembly.Load("iTextAsian"));
BaseFont baseFont = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
form.SetFieldProperty("CB_1", "textfont", bf, null);
form.SetField("CB_1", "中国大连");其实我的主要目地是希望填写完的表单文件大小不要变化太大,
现在如果我是用Windows自带字体的话,模版150KB,填写一点内容的话,就会变成4M左右
(NOT_EMBEDDED我也设置了,但是大小没有变化)
显示的时候就会需要比较长的时间。然后就想转成iTextSharp自带字体,结果自己还搞不定
还望帮助
BaseFont baseFont 中的baseFont 是同一个,复制错误
stamper.AcroFields.AddSubstitutionFont(baseFont);
按照您说的,问题解决了,非常感谢, 谢谢您的解答
BaseFont bf = BaseFont.CreateFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);我把字体设置成这样,但是水印添加完后,我用Adobe Reader XI打开后,不能正确的显示出添加的中文字体,必须安装相应的扩展字体库文件。我想知道怎样设置字体格式,就可以使用Adobe Reader 自带的字体库,而不用再安装扩展字体库。
这个是没安装扩展字体库之前的PDF文件字体属性这个是安装扩展字体库属性后的PDF文件字体属性