当前位置: 首页 > wzjs >正文

网络企业做网站企业网站快速建站

网络企业做网站,企业网站快速建站,分类信息网站怎么做流量,网站邮件设置不使用SOAP协议,通过XFDF格式实现PDF表单与数据库交互的方法。该方法兼容免费的Adobe Reader,且无需特殊权限设置。 背景与问题 历史方案: Adobe曾提供ADBC接口(基于ODBC),但在Acrobat 9后被移除。SOAP方案在免费版Rea…

不使用SOAP协议,通过XFDF格式实现PDF表单与数据库交互的方法。该方法兼容免费的Adobe Reader,且无需特殊权限设置。


背景与问题

  • 历史方案:

    • Adobe曾提供ADBC接口(基于ODBC),但在Acrobat 9后被移除。
    • SOAP方案在免费版Reader中无法使用。
  • 新方案核心:
    使用XFDF(XML版本的FDF)作为数据交换格式,通过PHP脚本作为中间层连接PDF表单与数据库。


FDF与XFDF格式对比

FDF示例

%FDF-1.2
%âãÏÓ
1 0 obj
<</FDF<</F (testXFDF.pdf)/Fields[<</T (Field 1)/V (test data)>>]>>
>>
endobj

XFDF示例

<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve"><fields><field name="Field 1"><value>test data</value></field></fields>
</xfdf>

优势: XFDF基于XML,更易解析和生成。


提交XFDF数据
查询/更新
返回XFDF数据
PDFForm
+submitForm()
PHPScript
+parseXFDF()
+generateXFDF()
+queryDatabase()
Database
+getNextSerial()

实现步骤

1. 提交表单数据到服务器

PDF表单通过submitForm()方法以XFDF格式提交数据到PHP脚本。

2. 服务器端处理(PHP)

基础接收脚本
<?php$myXFDF = file_get_contents("php://input");echo "Received some data.";
?>
返回数据到表单
<?phpheader('Content-type: application/vnd.adobe.xfdf');$returnXFDF = <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve"><fields><field name="Field 1"><value>Updated Value</value></field></fields>
</xfdf>
EOT;echo $returnXFDF;
?>

关键点: URL需附加#XFDF以告知Acrobat返回格式。


完整PHP解决方案

功能

  • 解析接收的XFDF数据。
  • 生成数据库唯一序列号。
  • 返回更新后的XFDF数据。

核心代码

<?phpfunction getNextSerial($userName) {$mysqli = new mysqli("localhost", "theUser", "thePassword", "serialnumbers");if (mysqli_connect_errno()) {printf("Connect failed: %s\n", mysqli_connect_error());exit();}$query = "INSERT INTO serialnumbers (username, date) VALUES (\"" . $mysqli->real_escape_string($userName) . "\", NOW())";$mysqli->query($query);$idx = $mysqli->insert_id;$mysqli->close();return $idx;}function createXFDF($info, $enc='UTF-8', $file=''){$domtree = new DOMDocument('1.0', $enc);$xmlRoot = $domtree->createElement("xfdf");$xmlRoot->appendChild($domtree->createAttribute('xmlns'))->appendChild($domtree->createTextNode("http://ns.adobe.com/xfdf/"));$xmlRoot = $domtree->appendChild($xmlRoot);$fields = $domtree->createElement("fields");addXFDFData($domtree, $fields, $info);$xmlRoot->appendChild($fields);header('Content-type: application/vnd.adobe.xfdf');echo $domtree->saveXML();}$myXFDF = new DOMDocument('1.0');$myXFDF->load("php://input");$xpath = new DOMXpath($myXFDF);$xpath->registerNameSpace('xfdf', 'http://ns.adobe.com/xfdf/');$elements = $xpath->query("//xfdf:fields/xfdf:field[@name='UserName']")->item(0);$userName = "";if ($elements instanceof DomElement) {$userName = $elements->nodeValue;}if (strcmp($userName, "") !== 0) {$serialNumber = getNextSerial($userName);$info = array("SerialNumber" => $serialNumber);createXFDF($info);}
?>

注意事项

  1. 浏览器兼容性:
    Chrome/Firefox等浏览器内置PDF查看器不支持此功能,必须使用Adobe Acrobat或Reader。

  2. 安全性:
    Acrobat会提示用户确认是否允许提交操作。

  3. 部署建议:

    • 确保服务器支持PHP。
    • 根据实际需求调整数据库连接和字段映射。

最后

通过XFDF和PHP中间层,实现了PDF表单与数据库的无缝交互,解决了SOAP和ADBC的限制问题。适用于需要动态填充或提交数据的PDF表单场景。

http://www.dtcms.com/wzjs/428089.html

相关文章:

  • 男女做爰视频网站在线视频万网官网
  • 企业电子商务网站5118网站如何使用免费版
  • 自主做网站软件推广是什么工作
  • 苏州做企业网站公司品牌营销策划包括哪些内容
  • 工业园区网站建设方案怎样免费制作网页
  • 网站建设存在的问题及对策合肥网站优化软件
  • 政府网站建设的重要意义成都网站建设方案优化
  • 哪个地区网站建设好生成关键词的软件
  • 哪个网站做男士皮鞋批发人员优化方案
  • 28网站开发网站设计的毕业论文
  • 用jquery做网站广告推广免费发布
  • 成立一个网站软件需要多少钱北京搜索优化排名公司
  • 政府网站建设政治要求搜索引擎营销的方法有哪些
  • 做360全景有什么网站如何推广
  • 电影院网站建设方案微信指数
  • b2b网站建设优化哪家好百度搜索排名与点击有关吗
  • 教育机构网站建设方案巨量数据分析入口
  • 网站开发的搭建框架是什么意思外链系统
  • 怎么做微信网站济南最新消息今天
  • 西宁站 网站临沂seo
  • 哪些公司做网站开发长沙网站优化排名推广
  • 网站上文章字体部分复制怎么做的最好的网站优化公司
  • 蚌埠政府公开网站建设页面优化算法
  • 攻略类型网站如何做产品营销网络推广优化网站
  • 土巴兔装修报价靠谱么佛山seo按效果付费
  • 个体营业执照可以做网站服务吗苏州seo报价
  • 设计网页推荐优化seo教程
  • 青海西宁网站开发公司创建网站的流程
  • 外贸网站建设 soho千锋教育和黑马哪个好
  • 泰安网站设计公司拓客软件排行榜