itextsharp多语言(中日韩等)填表解决

这几天在做套打的方案,最终决定用PDF做。用Acrobat做PDF表单文件,再使用itextsharp填表功能完成。

但是出现多语言(中日韩)填表的情况,查了很多方法,做了不少测试,最后解决。示例代码如下:

     var reader =  new PdfReader( /* Form File */);
     var stamper =  new PdfStamper(reader,  new FileStream(result, FileMode.Create));

     var query =  from property  in type.GetProperties()
                join field  in stamper.AcroFields.Fields
                    on property.Name equals field.Key
                 select  new
                {
                    field.Key,
                    Value = property.GetValue(model,  nullas  string
                };

    BaseFont font = BaseFont.CreateFont( " c:\\windows\\fonts\\ARIALUNI.TTF ", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
     foreach ( var item  in query)
    {
        stamper.AcroFields.AddSubstitutionFont(font);
        stamper.AcroFields.SetField(item.Key, item.Value);
    }

    stamper.FormFlattening =  true;

    stamper.Close(); 

转载于:https://www.cnblogs.com/Magicworks/archive/2012/03/26/2417856.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值