ASP.NET,flexpaper,SWFTools 实现简单的PDF显示(四)

本文介绍使用itextsharp结合预先制作的PDF模板来填充数据的方法。首先通过AdobeAcrobat或doPDF创建模板,接着在模板中添加文本域用于存放数据。最后利用C#代码将测试数据填充到模板中。

上篇说到itextsharp生成pdf有两中方式,而pdf模板方式需要先制作pdf模板,下面就先说说如何制作pdf模板。

1、首先需要安装Adobe Acrobat(我用的是Adobe Acrobat 9 Pro这个版本),Adobe Acrobat软件能把word,execl文档转为pdf文件

如果你觉得用Adobe Acrobat 9 Pro把word等文件转为pdf不知道如何操作,那么可以doPDF这个把word等文件直接打印为pdf保存的软件,下载地址:http://www.duote.com/soft/1329.html(具体的使用这里不多讲,百度)

2、其他文档转为pdf后,就需要添加如下图中方框中的文本域(用于使用代码往pdf文档中添加数据)

菜单栏-----工具-----高级编辑-----显示高级编辑工具栏  点击后就会出现如下图中那个高级编辑窗口

鼠标点击Ok那个图标后,移动到文件中就会出现如图的文本域,根据自己爱好命名就可以了,制作完文本域后保存就可以了。(双击文本域可以设置该文本域的属性)

下图为制作完成的pdf文件模板(仅作示例参考)

 

3、测试数据

制作完模板后,就需要在代码中写些测试数据,看看能不能保存在文本域中。代码如下:

    /// <summary>
    /// 初始化测试数据
    /// </summary>
    /// <returns></returns>
    public Dictionary<string, string> ParamerInitialize()
    {
        Dictionary<string, string> FieldValues = new Dictionary<string, string>();
        FieldValues.Add("DBZJLX", "001");
        FieldValues.Add("YY", "2013");
        FieldValues.Add("MM", "09");
        FieldValues.Add("DD", "02");
        FieldValues.Add("SKDWMC", "名称");
        FieldValues.Add("JKDWMC", "名称");
        FieldValues.Add("SKDWKHYH", "工商银行");
        FieldValues.Add("JKDWKHYH", “工商银行");
        FieldValues.Add("SKDWZH", "0987655");
        FieldValues.Add("JKDWZH", "0682334");
        FieldValues.Add("Text11", "12345566");
        FieldValues.Add("Text12", "钻石");
        FieldValues.Add("Text13", "10");
        FieldValues.Add("Text15", "克");
        FieldValues.Add("Text16", "11");
        FieldValues.Add("Text17", "3%");
        FieldValues.Add("Text18", "15");
        FieldValues.Add("Text19", "2013/02/23");
        FieldValues.Add("HJJEDX", "壹万贰");
        FieldValues.Add("HJJEXX", "12000");
        FieldValues.Add("RQ", "2013/02/22");
        FieldValues.Add("BZ", "备注");
        return FieldValues;
    }

测试数据如上,不过Dictionary中的键一定要同pdf中添加的文本域名称一样,才能把数据添加到pdf中

4、代码测试

根据ASP.NET,flexpaper,SWFTools 实现简单的PDF显示(三)中的  public static byte[] CreatePDf(string TempFileName, Dictionary<string, string> FieldValues)方法,把上面的测试数据作为参数传入,TempFileName则为上面制作的pdf模板的名称,然后就可以生产添加了数据的pdf文本流了。

5、如果要查看pdf,就把文本流保存为pdf文件(具体代码自己琢磨)

总结:该种方法生产pdf文件适合固定的表格形式的pdf,即pdf的样式固定的,只需要在指定的区域添加文本的那种,如果是不固定的pdf直接使用代码生产比较好。

转载于:https://www.cnblogs.com/zhanghaomars/archive/2013/05/29/3107270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值