PDF二次开发_iStylePDF表单域的填充
wo讲到PDF表单,我们首先需要认识Adobe定义的PDF表单有哪些。以下是我从网上搜索到的简单介绍:
PDF 表单简介
PDF 是可移植文档格式(Portable Document Format)的缩写,这是由 Adobe Systems Inc 开发的文件格
式。PDF 将从各种桌面发布应用程序捕捉格式信息,使其能够发送设定了格式的文档并根据需要在接收者的监视
器或打印机中显示这些文档。要查看 PDF 文件,需要使用 Adobe Reader;要创建或修改 PDF 文件,需要使
用 Adobe Acrobat Professional 或 Adobe Acrobat Designer。
PDF 表单可以分为两种类型:静态 PDF 表单和交互式 PDF 表单。静态 PDF 表单是没有交互元素的传统 PDF 文
档。这种表单是由文本、点、线和图形等静态元素组成的,文件存储为二进制格式。
另一种 PDF 表单是交互式 PDF 表单。在 PDF 规范中,有两种交互式表单:
AcroForm:PDF Specification 1.2 中引入的这种表单是从用户那里通过交互方式收集信息的字段集。交互式表单
的内容和属性都是由一个交互式表单字典定义的,这个字典引用自 PDF 文件的文档类别的 AcroForm 条目。
XML Forms Architecture(XFA):XFA 将提供基于模板的语法和处理规则集,它们将允许用户构建交互式表
单。基于模板的语法将定义用户在其中提供数据的字段。XFA 的开放特性将提供描述交互式表单的通用 XML 语
法,这是在表单处理应用程序之间执行与表单相关的交互操作的通用基础。这种开放特性意味着将在各种业务中应
用 XFA。XFA 表单将提供大量功能:
工作流程:这类表单包括数据表示、数据捕捉和数据编辑。XFA 被用作将数据提交到后台服务器中的前端应用程
序;它还可用于打印目的。
动态交互:动态功能从具有动态计算、验证及其他特性的交互式、可编辑的表单,到服务器生成的、机器填充的表
单等各不相同。
动态布局:表单可以自动重新调整自身以适应用户或外部数据源(例如数据库服务器)提供的数据。例如,如果从
服务器中检索到的数据有 100 行,则表单显示 100 行。
复杂度:此功能包括单页静态表单,动态文档将基于数据内容进行装配,而大型生产运行包含数十万个事务。
与 AcroForm 相比,XFA(一种交互式表单)在以下方面更加高级:
XFA 可以在基于 XML 的工作流中使用。
XFA 将从 XFA 模板中分离数据,这将允许在支持的数据结构中拥有更大的灵活性并允许独立于表单封装数据。
XFA 可以指定动态增长的表单。
XFA 可以指定 Web 交互操作,例如 HTTP 和 Web 服务描述语言
(Web Services Description Language,WSDL)。此类交互操作可用于将数据提交给服务器,或请求服务器执
行计算并返回结果。
XFA 将与其他 XML 语法结合使用。
目前我们只支持AcroForm形式交互性。通过接口可以控制每个域的文本填充,设置域的只读性、可见性等属性。
我采用C#快速开发了一个示例,如下图所示:

1、首先是把我们的PDF控件拖到Form上布局。
2、响应填充按钮的消息,实现代码如下:

看到没,就是这么简单。。。。。
PDF二次开发_iStylePDF表单域的填充的更多相关文章
- JS 08表单操作_表单域
一.表单的获取方式 document.getElementById() document.forms[index]; document.forms[form_name] document.form_n ...
- Android系统--输入系统(十二)Dispatch线程_总体框架
Android系统--输入系统(十二)Dispatch线程_总体框架 1. Dispatch线程框架 我们知道Dispatch线程是分发之意,那么便可以引入两个问题:1. 发什么;2. 发给谁.这两个 ...
- ECSHOP二次开发文档【文件结构说明和数据库表分析】
最近公司又把之前的ecshop进行二次开发,之前看过一些ecshop的东西,但是都过了很久差不多都忘完了,现在得把之前的重新捡回来,特此搜到这些文档,接下来的开发工作中会方便不少. Ecshop文件结 ...
- Openlayers3 WebGis二次开发包实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs& ...
- WebGis二次开发包实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs& ...
- [转]QGis2.9在windows下的编译以及二次开发包下载
今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...
- 0天掌握iOS开发之Day2 - 内存管理 (给学生讲解的课件,总结的不错)
from: 10天掌握iOS开发之Day2 - 内存管理
- Jmeter自动化测试 POST请求和GET请求用if控制器,可以二次开发源码,将请求方式通过数据源传入,就不需要做多余的判断
Jmeter自动化测试 POST请求和GET请求用if控制器,可以二次开发源码,将请求方式通过数据源传入,就不需要做多余的判断 目前常用的做法:
- PIE.NET-SDK插件式二次开发文档
一 PIE.Net开发环境部署 1. 开发环境部署 确保Win7系统已安装SP1 安装Visual Studio2013(支持VS2010/2012/2013/2015) 安装PIESDK.e ...
随机推荐
- Unity和Android互相调用
安卓部分代码: public class GameMainActivity extends UnityPlayerActivity { private static String CODE_ROOT ...
- UVALive 7147 World Cup(数学+贪心)(2014 Asia Shanghai Regional Contest)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=6 ...
- CMD命令大全
有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联. AT 计划在计算机上运行的命令和程序. ATTRIB 显示或更改文件属性. BREAK 设置或清除扩展式 CT ...
- rdesktop的使用
整个地球都知道rdesktop,有了它,我们可以从Solaris或者Linux使用Windows,当然Windows要开启Windows Terminal Service.虽然也有基于GTK+的tsc ...
- php 读取输出其他文件的方法
ob_start();iconv('utf-8','gb2312',readfile('1.html')); //直接输出文本内容echo '<hr>'; $data = file_get ...
- 最简单的推送--uexGetui
个推插件使用指南 配置方法这里不再复述,详情请参见插件接入指引 怎样创建一个最简单的推送? //只需要两个方法 uexGetui.initialize(data); uexGetui.onInitia ...
- hadoop的自定义数据类型和与关系型数据库交互
最近有一个需求就是在建模的时候,有少部分数据是postgres的,只能读取postgres里面的数据到hadoop里面进行建模测试,而不能导出数据到hdfs上去. 读取postgres里面的数据库有两 ...
- wampserver 2.5多站点配置
wampserver2.5版本与之前老版本配置有区别,假设wamp安装在d:/wamp下.第一步:修改D:/wamp/bin/apache/apache2.4.9/conf/httpd.conf 文件 ...
- gitlab多人协作开发
gitlab多人协同工作 本文为亨利向<Git权威指南>的作者蒋鑫老师的答疑邮件写成. 这里特别感谢蒋鑫老师对我询问gitlab的协同工作流程问题的详细解答. 蒋鑫老师的细致专业的解答让我 ...
- Linux_常用命令1
来自:http://www.weixuehao.com/archives/25 Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat. ...