最近在网上看到了一篇文章《用ASP生成PDF文件》,十分不错,具体地描述了如何用ASP+PDF的服务器控件,生成一份PDF文件到客户端。
原文地址如下:
http://www.163design.net/a/y/7785.html
不过原文的一些内容已经过时了,经过我自己实践,予以补充:
1、那个控件的名字叫做“Acrobat Forms Data Format Toolkit”,下载地址是:
http://www.adobe.com/devnet/acrobat/fdftoolkit.html
2、如果把两个DLL文件copy到system32目录下,只有一个DLL文件可以被regsvr32注册,另一个提示找不到载入点,这是正常现象,没有问题。但前提是你两个文件必须都在system32下。另外,你要给每个文件包括msvbvm60.dll,授予“IUSR_机器名”用户的读取和执行权限,默认是没有的,否则CreatObject的时候会提示你没有权限。
3、制作PDF模板的时候,可以直接用写好Form表单的那个页面,但后缀一定得是html这样的静态后缀,asp后缀Acrobat是不认的。打开后,重新给每个文本框、Checkbox等命名,具体的名字可以参见原文中第二个asp源码中的内容。修改好后,另存为一个PDF,这就是“模板”,生成的时候需要调用它,剩下的就是改一下第二个asp文件中的一些具体的量,跟实际情况匹配就ok了。
4、单选按钮的名称都改成一样的(必须是在同一个域中的),这样就可以实现多个选项唯一选择。属性里有一个“导出值”,这就是这个单选框的根本属性了。如果需要唯一选择,名字一样的单选框导出值是不能相同的,到时候在程序里头赋值,值和哪个单选框的导出值匹配,这个就勾选了。
5、为了防止他人修改你生成的表单,可以在设计模板的时候,把文本框设置为只读,这样只能在程序中赋值,客户端是没法更改的。当然以防万一,可以将模板加上修改口令,限制其修改,就比较保险了。
6、经实验,模板里面的那个Submit按钮,就是用html生成时一起产生的,完全可以删除,一点用都没有,留着还容易出麻烦。
没了,73!