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


    上篇说到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直接使用代码生产比较好。

  • 相关阅读:
    【刷题】LeetCode刷刷刷 — 2021-05-31(2)
    【刷题】LeetCode刷刷刷 — 2021-05-31(1)
    【刷题】LeetCode刷刷刷 — 2021-05-30(2)
    适配器模式
    跨端开发框架各方评价【整合】+思索
    uni-app运行到小程序报错onStreamRead
    序列化
    tkinter---GUI
    tkinter--抽奖
    6位数(字母和数字)验证码
  • 原文地址:https://www.cnblogs.com/zhanghaomars/p/3107270.html
Copyright © 2020-2023  润新知