CF7的PDF表单填写器

描述

此插件允许 Contact Form 7 用户在电子邮件消息和 Contact Form 7 的回复中添加包含表单提交数据的 PDF 附件。

如果 PDF 附件包含 PDF 表单,该插件允许用户向 Contact Form 7 表单添加字段和/或将其链接到 PDF 中的字段。该插件还允许将附加的 PDF 文件嵌入由 Contact Form 7 表单字段提供的图像。填写的 PDF 文件可以保存在网络服务器上。

当您的网站访客提交您的 Contact Form 7 表单时,PDF 文件中的表单会填充 CF7 表单数据,图像会嵌入其中,并且生成的 PDF 文件会附加到 Contact Form 7 电子邮件消息中。如果在表单选项中启用了此选项,您的网站访客也可以下载生成的 PDF 文件。生成的 PDF 文件可以保存到服务器的 wp-content/uploads 目录中。

这个插件的特别之处在于它处理PDF文件的方式。它不是从头生成PDF文档,而是修改使用第三方软件准备并提供给插件的原始PDF文档。这使用户可以自由设计他们所需的内容,并使用他们已有的文档。

一个外部网络 API (https://pdf.ninja) 被用于填写 PDF 表单(免费使用有一定限制)。可以购买“企业扩展”插件,该插件允许在您的网络服务器上本地处理所有 PDF 操作,并禁用外部网络 API 的使用。

请参阅Pdf.Ninja 使用条款Pdf.Ninja 隐私政策

Please see the tutorial video and the documentation for detailed information.

要求:
* PHP 5.2 或更新版本
* WordPress 4.8 或更新版本
* Contact Form 7 5.0 或更新版本
* IE 11(或同等版本)或更新版本

已知问题:
* 一些第三方插件可能会破坏此插件的功能(请参见下方列表)。尝试通过禁用可能导致问题的插件来排除故障,例如以激进方式修改 WordPress 或 Contact Form 7 的插件。
* 一些图像优化插件会优化 PDF 并从 PDF 文件中删除 PDF 表单。这可能会导致现有表单在未来某个随机时间点(当 PDF 文件缓存超时时)出现问题。
* 如果您仍在使用旧版本的 API(v1)或旧版本的企业扩展(v1),请注意,生成的 PDF 可能无法在某些 PDF 阅读器中正确呈现,并且可能会出现一些 UTF-8(非拉丁)字符、复选框和单选按钮的问题。

已知不兼容的插件:
* Post SMTP(会导致PDF附件无法发送到电子邮件)
* Imagify(会删除PDF文件中的表单)
* ShortPixel Image Optimizer(会删除PDF文件中的表单)
* Live Preview for Contact Form 7
* Open external links in a new window
* WordPress Multilingual Plugin
* Contact Form 7 Skins

特别感谢以下赞助商对本插件的支持:
* BrowserStack
* Momentum3
* G-FITTINGS GmbH

屏幕截图

  • PDF表单按钮可用于访问PDF附件界面
  • 表单标签生成器界面,允许用户附加 PDF 文件并生成标签
  • 已填写的PDF文件

安装

  1. 安装Contact Form 7插件。
  2. 将此插件的文件夹上传到/wp-content/plugins/目录,或直接通过WordPress插件屏幕安装插件。
  3. 通过 WordPress 中的“插件”屏幕激活插件。
  4. 开始在 CF7 表单编辑器中使用“PDF 表单”按钮。

常见问题

我收到一个错误:“发送您的消息时出现错误。请稍后再试。”

请检查您的服务器的电子邮件配置。请确保您的垃圾邮件缓解技术(如reCaptcha/Akismet等)没有引起问题。

这个插件允许我的网站用户编辑PDF文件吗?

不。这款插件仅在WordPress管理面板中为Contact Form 7界面添加功能。

这个插件是否需要在网络服务器上安装特殊软件?

不。该插件仅使用核心的WordPress和CF7功能。不需要特殊的软件或PHP扩展。处理PDF文件是通过Pdf.Ninja API完成的。建议使用cURL进行SSL/TLS证书验证。如果您的业务需求不允许使用第三方API,可以使用企业扩展

CF7表单字段如何映射到PDF表单字段?

字段映射工具允许您单独映射字段,并在需要时即时生成新的CF7字段。CF7字段可以映射到多个PDF字段。映射可以与特定的PDF附件或所有PDF附件关联。还可以创建字段值映射,允许填充的PDF字段使用与原始填充值不同的数据进行填充。

我的字段没有被填充,出了什么问题?

确保映射存在于映射列表中,并且字段名称匹配。

如果您附加了更新的 PDF 文件,并且您的映射与旧的附件 ID 相关联,那么这些映射将被删除,您需要重新创建它们。

有时 PDF 表单字段会有验证脚本,防止填写格式不正确的值。日期 PDF 字段必须按照邮件标签格式化

如何在不附加新版本且不丢失附件ID关联的映射和嵌入的情况下更新附加的PDF文件?

尝试使用Enable Media Replace 插件在媒体库中原地替换 PDF 文件。

我的复选框和/或单选按钮没有被填充,出了什么问题?

确保您的 PDF 复选框/单选按钮字段的导出值与 CF7 表单的复选框标签值匹配。通常,它是“On”或“Yes”。如果您需要在 CF7 表单中显示不同的值,您需要创建一个值映射或使用管道

CF7允许您使用多选复选框,但是,PDF中的复选框字段不能有多个值。您需要在PDF中改用列表框,或者重命名复选框,使每个复选框都有唯一的名称,然后适当地映射它们。

某些 PDF 查看器在某些 PDF 文件中无法正确渲染复选框。您可以通过在不同的 PDF 编辑器中重新创建 PDF 来解决此问题。如果您仍在使用 Pdf.Ninja API v1,切换到 v2 可能会解决您的问题。

如何去除已填写的PDF文件中的水印?

请参阅 Pdf.Ninja API 网站企业扩展插件页面

如何在本地网络服务器上设置PDF表单填写?

请参阅企业扩展插件页面

评价

2023 年 5 月 18 日
been using this plugin to complete a very complex PDF form filling on a website we developed. After a couple of years we found an issue with an infinite spinning wheel when a user submitted the form. Their support team came in and got it fixed right away and was incredibly supportive. Best support I’ve ever received from a plugin developer. Highly Recommend!
2021 年 6 月 6 日 4 回复
Thanks for the great plugin, it works perfectly, just a small bug I found about the success notification after submitting the form, besides that it’s all good
2020 年 6 月 10 日
This plugin made the project I thought would take days instead take only minutes to complete. Wow. that you for this.
2020 年 5 月 1 日
This plugin is ideal for automatically filling pdfs based on data entered by users. It is a good complement for CF7. You can even add a handwritten signature to your pdf form thanks to its compatibility with the “Contact Form 7 Signature Addon” plugin. So yes you will probably need the PRO version to remove the watermark but it is a good investment. And then the FREE version allows you to test all the features of this plugin. I just have a suggestion for a better compatibility with the “CF7 Conditional Fields PRO” plugin by Jules Colle. For this I will open a support topic.
2020 年 4 月 4 日
If you need to use contact form 7 with PDF this is the best plugin out there. After numerous tries with all kinds of free and premium plugins, this is the far the best of them. The integration is perfect with API and contact form 7. Thanks for the plugin!
2020 年 3 月 25 日 3 回复
After extensive comparison I ended up selecting this plugin (PRO version without watermark at 49 USD/year) in order to get a PDF file from a Contact Form 7 form. The good points of this plugin are: – you are allowed to make all the testing you want before deciding if buying the PRO version without watermark (the free version is for unlimited testing only) – the linking between Contact Form 7’s fields and the fields in the PDF is easy – you can upload different PDF files and have them filled at once (one field’s data can go to several places in the same PDF or, should be, in different PDFs) – I could create the PDF file and its fillable fields from the free LibreOffice Writer (it’s similar to Microsoft Word) – You can decide if the created PDF is still fillable or not (“flattened”) – I can add that you can have only certain fields still fillable if you make some of them “read only” while creating the PDF (in LibreOffice Writer) and set the whole PDF created by this plugin “not flattened”) Some important missing features are: – It is not possible to “trigger” a specific PDF file based on a specific answer in the form (the only option is not to have a PDF at all if all the fields are empty) – that would be a very important feature in order to get only the PDFs you actually need based on your selection – While a Contact Form 7 field data can go to different places in a PDF, the opposite is not possible (it means that a PDF field can receive a data only from one specific Contact Form 7 field) – multiple selections do not work – you have to create several “multiple” selection (one on top of the other) where you really have only one selection for each one
阅读所有12条评价

贡献者及开发者

「CF7的PDF表单填写器」是开源软件。 以下人员对此插件做出了贡献。

贡献者

「CF7的PDF表单填写器」插件已被翻译至 1 种本地化语言。 感谢所有译者为本插件所做的贡献。

帮助将「CF7的PDF表单填写器」翻译成简体中文。

对开发感兴趣吗?

您可以浏览代码,查看SVN仓库,或通过RSS订阅开发日志

更新日志

2.2.2

  • Release date: March 31, 2025

  • Added ‘delete all value mappings’ button

  • 其他小错误修复和改进

2.2.1

  • 发布日期:2024年11月21日

  • 修复了本地化问题

  • 更新了语言文件

2.2.0

  • 发布日期:2024年11月11日

  • 添加了对 CF7 v6.0 的支持

  • 将附件工具、字段映射工具和图像嵌入工具从标签生成器移动到单独的设置面板
  • 新增了自动下载已填写PDF的功能
  • 其他修复和改进

2.1.10

  • 发布日期:2024年3月5日

  • 确保支持 CF7 v5.9

2.1.9

  • 发布日期:2024年1月15日

  • 修复了由于请求边界中的非字母数字字符引起的API通信可能出现的问题

  • 其他小修复和改进

2.1.8

  • 发布日期:2023年11月8日

  • 修复了在有多个PDF附件时默认文件名的错误

2.1.7

  • 发布日期:2023年11月3日

  • 自动调整邮件标签文本区域大小

  • 修复了与UTF-8 base64解码相关的可能的JS错误
  • 修复了图标文件
  • 改进了远程附件支持
  • 修复了页面快照代码中的问题
  • 其他小改进

2.1.6

  • 发布日期:2023年8月15日

  • 确保支持 WP v6.3

  • 确保支持 CF7 v5.8
  • 添加了一些小修复

2.1.5

  • 发布日期:2023年7月10日

  • 添加了对条件字段插件组的变通支持

  • 小修正

2.1.4

  • 发布日期:2023年5月17日

  • 添加了一个解决方法,以应对某些非GNU系统上不可用的GLOB_BRACE标志

2.1.3

  • 发布日期:2023年5月5日

  • 小修小补和改进

2.1.2

  • 发布日期:2022年12月14日

  • 确保支持 CF7 v5.7

2.1.1

  • 发布日期:2022年11月29日

  • 修复了前端 CF7 响应中的错误

2.1.0

  • 发布日期:2022年11月23日

  • 一些修复影响了填充过程的逻辑。更新后请检查您的表单,以确保一切按预期工作,如果您认为它们可能受到影响!

  • 修复了一个问题,即PDF字段未能随着空的CF7字段值被清除(影响原始PDF文件中的预填字段)

  • 修复了一个问题:值映射被递归应用(影响具有匹配的 CF7/PDF 值的字段值映射)
  • 错误修复:值映射在处理空值时失效
  • 改进了空值映射选项的标签
  • 改进了影响动作检测的PDF附件
  • 修正了德语翻译
  • 更新了西班牙语翻译
  • 更新了意大利语翻译
  • 更新了其他语言文件
  • 其他小改进

2.0.9

  • 发布日期:2022年10月27日

  • 修复了CF7集成页面上的问题

2.0.8

  • 发布日期:2022年9月20日

  • 将重复的CF7值映射添加到多个唯一的PDF值支持多选功能

  • 改进了数值映射处理代码
  • 修正了德语翻译
  • 添加了代码以移除不再相关的嵌入
  • 改进了临时文件管理
  • 其他改进

2.0.7

  • 发布日期:2022年7月25日

  • 假设支持所有 CF7 v5.6.* 修订版

  • 小幅清理和改进

2.0.6

  • 发布日期:2022年7月3日

  • 添加了自动值映射

  • 删除了表单标签提示中的管道符
  • 在图像嵌入功能中添加了对数据URI的支持
  • 其他错误修复和改进

2.0.5

  • 发布日期:2022年5月24日

  • 确保支持 WP v6.0

  • 确保支持 CF7 v5.6
  • 更改了值映射功能,使其在匹配值时不区分大小写
  • 切换到 i18n 友好的 basename() 版本,以修复文件名中可能出现的非拉丁字符问题
  • 其他小改进

2.0.4

  • 发布日期:2022年2月23日

  • 确保支持 CF7 v5.5.6

  • 修复了后端图像嵌入工具滚动代码的问题
  • 隐藏了无用的 PHP 警告

2.0.3

  • 发布日期:2022年2月18日

  • 修复了值映射功能对“free_text”复选框和单选选项的处理

  • 修复了值映射功能对 CF7 字段的管道选项的处理
  • 修复了CF7字段多选检测
  • 其他小改动

2.0.2

  • 发布日期:2022年2月14日

  • 确保支持 CF7 v5.5.5

  • 添加了一个针对损坏的cookie的解决方法
  • 其他小改进

2.0.1

  • 发布日期:2022年2月2日

  • 修复了值映射功能中的一个错误

2.0.0

  • 发布日期:2022年2月1日

  • 添加了多选字段支持

  • 切换到 select2 下拉菜单
  • 添加了值映射功能
  • 修复了添加图片嵌入时的滚动效果
  • 切换到使用 WPCF7_Submission::add_extra_attachments() 适用于 CF7 v5.4.1+
  • 其他错误修复和改进

1.3.23

  • 发布日期:2022年1月25日

  • 确保支持 CF7 v5.5.4

  • 确保支持 WordPress v5.9
  • 在生成表单标签时,切换为使用问题较少的PDF字段名称清理方式

1.3.22

  • 发布日期:2021年12月5日

  • 确保支持到 CF7 v5.5.3

  • 添加了远程媒体支持,重构了Pdf.Ninja API集成代码,改进了错误处理
  • 隐藏了没有权限处理的用户的 wp-admin 通知
  • 其他小的改进和修复

1.3.21

  • 发布日期:2021年10月29日

  • 确保支持到 CF7 v5.5.2

  • 修复了在使用不可用标签名称时标签生成器代码的问题
  • 其他小改进

1.3.20

  • 发布日期:2021年10月14日

  • 确保支持到 CF7 v5.5.1

  • 添加了可关闭的通知
  • API通信代码的小幅重构
  • 添加了在附加没有字段的PDF文件时的确认框
  • 其他小改进

1.3.19

  • 发布日期:2021年9月21日

  • 崩溃修复

1.3.18

  • 发布日期:2021年9月18日

  • 添加了一个用户提供的电子邮件地址字段,用于从 API 请求新密钥

  • 修复了在请求新的 API 密钥失败时报告错误的一个小问题
  • 修复了由于直接修改数据库中的 fileId 后期元数据而引起的问题
  • 修复了最近引入的一个错误,该错误导致(已弃用的)标签生成器无法工作
  • 修正了拼写错误

1.3.17

  • 发布日期:2021年8月11日

  • 修复了导致与其他插件的计划任务问题的错误

  • 测试版本已更新至 WP 版本

1.3.16

  • 发布日期:2021年8月2日

  • 将 Pdf.Ninja API 版本设置的默认值从 v1 切换为 v2

1.3.15

  • 发布日期:2021年7月14日

  • 重命名插件

  • 添加了对 CF7 v5.4.2 的支持
  • 改进了API响应解码错误检查
  • 在单选/选择/复选框字段的标签生成器中进行小幅改进

1.3.14

  • 发布日期:2021年7月3日

  • 为单选按钮/选择/复选框标签生成器添加了默认标签选项

  • 修复了v2中无线电/选择/复选框标签生成的问题
  • 改进了标签生成器,以更好地转义标签名称和值
  • 修复了在标签生成器厚框中 CF7 字段列表在必要时未刷新问题
  • 修复了标签生成器厚框中的填充问题
  • 为删除所有映射按钮添加了确认框
  • 修复了本地化无法正常工作的问题
  • 改进了企业扩展支持消息

1.3.13

  • 发布日期:2021年6月1日

  • 添加了API版本配置选项

  • 改进了插件激活和停用钩子
  • 改进并启用了数据库迁移脚本
  • 添加了1.3.13数据库迁移脚本
  • 其他错误修复和改进

1.3.12

  • 发布日期:2021年5月5日

  • 认证 CF7 v5.4.1 为支持的版本

  • 改进了管理员通知
  • 改进了前端JS
  • 改进了企业扩展支持检查代码

1.3.11

  • 发布日期:2021年4月12日

  • 修复并改进了定时任务代码

  • 将默认下载链接超时时间从1天更改为1小时
  • 修复了崩溃问题
  • 稍微改进了前端JS
  • 在企业扩展支持检查代码中添加了最低内核版本检查

1.3.10

  • 发布日期:2021年4月4日

  • 修复了破坏 CF7 JS 响应的错误

  • 小的过滤器修正
  • 修复了PHP警告

1.3.9

  • 发布日期:2021年4月2日

  • 修复了下载链接功能和最新版本的CF7的问题

1.3.8

  • 发布日期:2021年4月2日

  • 修复并改进了CF7 v5.4中的下载链接功能支持

  • 修复了旧版本支持
  • 隐藏了 CF7 插入框,以防止其干扰标签生成器的用户界面
  • 修复了其他小问题

1.3.7

  • 发布日期:2021年3月10日

  • 修复了旧版本 PHP 的支持

  • 降低了 wpcf7_before_send_mail 操作的执行顺序,以便其他插件先完成

1.3.6

  • 发布日期:2021年3月7日

  • 添加了 CF7 v5.4 兼容性:WPCF7_Submission::add_uploaded_file()

  • 启用了 CF7 v5.4 支持
  • 自述文件更新

1.3.5

  • 发布日期:2021年3月1日

  • 修复了一个意外的错误,该错误导致PDF未附加到电子邮件中

1.3.4

  • 发布日期:2021年3月1日

  • CF7 v5.4 仍然不受支持,但已添加了错误缓解措施

  • 添加了 CF7 v5.4 兼容性:WPCF7_Submission::uploaded_files()
  • 添加了CF7插件版本支持检查功能
  • 在 CF7 的 add_uploaded_file 调用中添加了崩溃预防检查
  • 更新了自述文件
  • 其他小修复

1.3.3

  • 发布日期:2020年12月9日

  • 错误修复:删除了错误留下的不必要的前端 Font Awesome CSS

  • 添加了对WebP图像格式的支持
  • 改进了企业扩展支持检查代码
  • 其他小修复

1.3.2

  • 发布日期:2020年9月4日

  • 错误修复:跳过空白功能不再工作

1.3.1

  • 发布日期:2020年8月20日

  • 修复了在 PHP fileinfo 函数不起作用时发生的图像嵌入 MIME 类型检查问题

1.3.0

  • 发布日期:2020年8月8日

  • 警告:此更新引入了一些插件操作的更改,这些更改不应破坏现有用户的任何内容,但建议在更新后进行测试

  • 添加了邮件标签功能
  • 改进了在填写PDF时的一般错误处理
  • 警告:如果在PDF填写过程中发生任何错误,现在将在用户在前端提交表单时显示给用户(而不是与用户输入一起附加在.txt文件中)
  • 为图片嵌入添加了文件 MIME 类型验证
  • 警告:图像嵌入现在仅限于以下 MIME 类型:image/jpeg, image/png, image/gif, image/tiff, image/bmp, image/x-ms-bmp, image/svg+xml
  • 切换为使用邮件标签替换函数wpcf7_mail_replace_tags()来填写CF7字段输入(以改进第三方插件支持)
  • 默认情况下隐藏标签生成工具
  • 其他小错误修复和改进

1.2.4

  • 发布日期:2020年5月15日

  • 错误修复

  • 代码优化和改进
  • 添加了CF7表单复制支持

1.2.3

  • 发布日期:2020年3月4日

  • 修复了一个问题,该问题在将附件附加到 CF7 表单时会导致其他帖子中的附件被删除

  • 修复了一个错误,该错误在某些情况下导致HTML代码显示在已填写的PDF下载链接的响应消息中
  • 修复了在处理错误时保存/下载已填写的PDF的错误
  • 重构了文件保存/下载处理代码

1.2.2

  • 发布日期:2020年1月8日

  • 错误修复

  • 自述文件更新

1.2.1

  • 发布日期:2019年10月27日

  • 修复了一个问题,即通过ajax表单提交时并不总是接收到HTML下载响应消息

  • 修复了一个问题,该问题导致插件在从1.2之前的版本更新到1.2.0及更高版本时,由于主插件php文件重命名而被停用

1.2.0

  • 发布日期:2019年9月27日

  • 添加了许多优化、错误修复和改进

  • 更新了冲突插件和赞助商的列表
  • 添加了一个选项,可以将填写的PDF保存在服务器上
  • 新增了允许用户下载已填写PDF的选项
  • 添加了与WP媒体库的集成
  • 添加了代码以在 CF7 标签中添加管道,以防止用户对单一选项产生混淆
  • 修复了CF7标签生成代码的字段值转义问题
  • 将文本域和插件文件名/标识符重命名为已发布的插件标识符(由于插件文件名的更改,更新后需要重新激活插件)

1.0.2

  • 发布日期:2019年2月12日

  • 添加了带有邮件标签功能的文件名选项

  • 小修小补和改进

1.0.1

  • 发布日期:2019年1月15日

  • 错误修复和改进

1.0.0

  • 发布日期:2018年4月6日

  • 主要插件重构

  • 添加了图像嵌入工具
  • 添加了帮助框
  • 大量的错误修复、优化和用户体验改进
  • 添加了企业扩展支持检查