PDF表单域的填充

讲到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、响应填充按钮的消息,实现代码如下:

        private void button1_Click(object sender, EventArgs e)
        {
            ISPDocument doc = iStylePDF.Documents.ActiveDocument;
            if (doc != null)
            {
                ISPField field = doc.Fields[textBox1.Text];
                if (field != null)
                {
                    field.Value = textBox2.Text;
                    doc.Views.ActiveView.Refresh();
                }
            }
        }

看到没,就是这么简单,各位亲们想试试的,赶紧去测试吧。。。。。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值