---
title: "如何创建可填写的PDF表格"
date: "2020-02-12"
categories: 
  - "development"
  - "software"
tags: 
  - "pdf-forms"
  - "stylevision"
  - "stylevision-server"
  - "xml"
description: 学习如何设计可填写的PDF表格，并自动化提取和处理用户输入的数据。
---
Status: #blog

Tags:  #pdf-forms #stylevision #stylevision-server #xml

Categories: [development](/blog/zh/category/development.md) 
# 如何创建可填写的PDF表格

与传统的纸质表格相比，可填写的PDF表格具有诸多优势——除了节约树木之外，还包括解决了可读性问题、支持数据验证、减少重复录入错误，以及简化信息存储和重复利用。

我个人非常希望我的孩子学校能够将那些每年秋季需要我们填写三份的各种入学相关信息页面，全部改为PDF格式。或许我可以向学校的管理人员演示一下StyleVision，这款软件最近增加了对可填写的PDF表格的支持 [PDF 表单创建](https://www.altova.com/zh/stylevision/pdf-forms.html).

与其他PDF表单设计工具不同的是，StyleVision还通过与StyleVision Server的集成，提供表单工作流功能，从而提取和处理最终用户输入的数据。接下来，我们来看看它是如何运作的。

![PDF 表单](/blog/images/FillablePDFForms01.png)

<!--more-->

## 创建PDF表单

StyleVision 是一款 [多渠道业务报告和表单设计工具](https/www.altova.com/stylevision.html) 该软件支持XML和数据库数据，并且提供了易于使用的功能，可以创建美观的文档，适用于打印和网页发布。

如果您想直接上手，可以查看一些现有的模板。在StyleVision的示例项目中，启动软件后您会看到两个文件：一个展示了所有可用于创建可填充表单的功能，另一个是常见的手动填写患者信息表格的示例，将其转换成了PDF格式的表单。这些项目将为您提供一些有用的灵感，帮助您在开始学习如何创建可填充PDF表单之前，更好地了解相关知识。

如果您不想从头开始，您可以基于现有的 Word 文档进行设计，或者扫描现有的纸质表格。StyleVision会将这些内容导入，作为设计蓝图，帮助您定义布局。

![将 Word 文档转换为 PDF 格式](/blog/images/blueprint.png)

## 患者登记表

为了了解其工作原理，我们来看一下我之前提到的患者登记表。这种情况很可能需要基于现有的Microsoft Word表格开始，这种表格通常会打印出来，然后在诊所由患者手动填写。

要开始操作，我们选择“从 Word 2007 及更高版本的文件导入…”选项，然后浏览文件，选择 Word 文档。StyleVision 会解析 Word 文档，构建表单的布局和结构，然后我们可以将这些元素与数据字段关联起来。

![导入单词格式 ](/blog/images/import-word-doc.png)

如果您还没有为表单数据创建现有的 XML 或数据库模式，您可以在 StyleVision 中直接构建自定义的数据模型。对于这个示例，我有一个示例 XSD 文件，并且已经将其加载到“资源”窗口中。

![表单的结构模式](/blog/images/form-schema.png)

现在，您可以使用“表单”工具栏轻松地将 XML 元素与 PDF 表单上的相应字段关联起来。为了提供卓越的用户体验，StyleVision 设计的可填充 PDF 表单不仅支持文本输入，还通过多种控件来控制表单的导航和行为

- 输入字段
- 多行输入框
- 组合框
- 复选框
- 单选按钮
- 可点击的按钮（例如：下一步、重置、提交、打印等）

例如，要添加一个用于输入患者姓氏的输入框，我需要点击工具栏上的“插入输入框”按钮，这时StyleVision会提示我选择与之相关的XML元素。

![表单字段关联 ](/blog/images/form-field-association.png)

我们会对表单中其余的输入字段，以及多行输入字段，都采用相同的处理流程。

接下来，我们添加一个下拉框，用于选择婚姻状况。操作方式与之前相同，即点击并选择。此时，StyleVision会提示我们输入下拉框中的选项。我在这里直接输入了这些选项，但您也可以从数据模式中选择已定义的选项，或者通过XPath来选择。

![PDF 组合框](/blog/images/pdf-combo-box.png)

对于单选按钮、复选框等控件，操作流程是相同的。

最后，我们来添加一个可点击的“打印”按钮。首先，在“插入”菜单中选择“插入表单控件”，然后选择“按钮”。接下来，将按钮上的文字更改为“打印表单”。然后，使用“属性”辅助工具，将此按钮的表单操作设置为“print”。

![按钮属性](/blog/images/button-properties.png)

其他按钮则用于页面导航（下一页、最后一页、上一页），用于清除或重置表单，以及当然是用于提交并保存数据的“提交”按钮。

StyleVision 不仅可以定义按钮的行为和输入字段，还能为设计师提供全面的灵活性，让他们能够创建美观、易用的表单。它采用拖放式设计，并提供丰富的辅助工具，用于定义样式和布局。您可以添加动态表格、图表和图像，以及指定字体和阴影效果——所有这些都是您在高级报表设计工具中期望的功能。

以下是最终患者信息采集PDF表格的片段：

![可填写的PDF表格 ](/blog/images/fillable-pdf-form-1.png)

## 提取和处理PDF表格中的数据

一旦用户填写完PDF表格，组织机构可以使用其[StyleVision Server](https://www.altova.com/zh/stylevision/stylevision-server.html)来提取用户输入的数据，并将其转换为XML或FDF格式。StyleVision Server能够以极快的速度处理大量数据，并且可以从任何PDF表格中提取数据，无论该表格是否由StyleVision创建。

开发人员还可以进一步利用 StyleVision Server 来处理用户数据，从而生成多渠道报告，格式包括 HTML、PDF 和 Word。您还可以考虑引入 [MapForce Server](https://www.altova.com/zh/mapforce/mapforce-server.html)，将提取的数据映射到数据库或其他格式。

这项强大的功能能够立即提升PDF表单工作流程的价值。

要体验一下并学习如何在StyleVision中创建可填写的PDF表格，请下载一个免费的 [30天免费试用](https://www.altova.com/zh/stylevision/download) 来自 Altova 网站。
