服务器端:支持Windows和Linux操作系统,支持任何的服务器编程语言,例如asp,asp.net,php,java,python,ruby等
支持使用HTTP、HTTPS、FTP协议从服务器远程加载文档,支持服务器身份验证
控件客户端支持的操作系统:WindowsXP/2003/2008/Vista/Win7/Win8
桌面开发支持的编程语言:VB、CSharp、VB.NET、Delphi、C++等
支持32位及64位操作系统和浏览器
支持嵌入到基于ActiveX技术的IE浏览器和使用NPAPI技术的非IE浏览器中
支持英文、中文简体、中文繁体等多种语言用户界面
控件的PlogId为:UdPdf.Viewer
控件的ClassId为:8C3D3705-1100-4D52-9D04-7E9A435CE220
控件的ContentType为:application/udpdf-plugin
初始化判断控件是否安装,并获取PDF控件对象:
加密时可以指定加密密码,加密后需要将密码的哈希值填写到控件的HashKey参数当中
将加密后的文件上传到服务器上,在控件页面根据所传递的参数将需要的加密文件读取并进行输出
若不想别人通过页面获取到参数的配置情况,可以使用此工具对属性配置内容进行加密,原配置字符串使用"&"分隔的键值对格式,多个参数之间使用"|"进行分隔,支持相应的属性或方法名称
也可在服务器上调用加密命令行工具直接完成普通文档文件到加密文件的转换,命令行使用说明:
protectedvoidPage_Load(objectsender,EventArgse){if(Request.Form["uudoc_getfile"]=="1")//如果是提交请求文件{ //可以通过HashKey的设置进行HTTP头安全校验 if(Request.Headers["UdPdf-HashKey"]!="3CE59E850E2C590AFD6E4D3516BA3F1B") return;//根据文件ID获取不同的加密文件或原始文件,需要根据实际情况编写自己的业务逻辑 if(Request.Form["uudoc_encrypted"]=="1")//是否使用加密读取方式 { //读取加密过的PDF文件 Response.WriteFile(Server.MapPath("upload/"+Request.Form["uudoc_fileid"]+".enpdf")); } else { //读取原始PDF文件Response.WriteFile(Server.MapPath("upload/"+Request.Form["uudoc_fileid"]+".pdf")); }Response.End();}}
可向服务器提交的参数有:
UdPdf-Config配置的参数值为使用“&”分隔的字符串,例如"EnableCopy=true&EnablePrint=false&ToolbarVisible=false"。
UdPdf-EncryptConfig配置的参数值为以上加密后的字符串内容,具体加密方法请参看上一节中UdPdfTools.exe工具的使用
Response.AppendHeader("UdPdf-Config","EnableCopy=false&EnablePrint=false");或者: Response.AppendHeader("UdPdf-EncryptConfig","74321C0******BA168");
response.setHeader("UdPdf-Config","EnableCopy=false&EnablePrint=false");或者: response.setHeader("UdPdf-EncryptConfig","***加密后的字符串***");
在需要传入密码的方法中,例如LoadFromWeb,LoadFromFile,SetServerUser等方法,可以先使用UdPdfTools.exe工具对密码进行加密,然后使用“[Encrypt]”前缀(不区分大小写)支持传入加密过的密码,防止别人获取到密码直接对PDF文档进行解密。
例如某个pdf文档的默认加密密码是:123456,使用命令行工具:
UdPdfTools.exe–encrypt123456
获取到加密后的密码是:4019DA9B613B82F72186203AA9ABE0C7
然后可以添加“[Encrypt]”前缀使用加密密码的方式打开pdf文档:
ctl.LoadFromWeb(“getfile.aspx”,“[Encrypt]4019DA9B613B82F72186203AA9ABE0C7”,“post”);