如何使用JavaScript填写(嵌入式)PDF表单?

如何使用JavaScript填写(嵌入式)PDF表单?,javascript,pdf,pdf.js,Javascript,Pdf,Pdf.js,我有一个PDF文件,可以嵌入(或通过其他方式加载)HTML页面。PDF包含可以填写的表单。我使用pdftk提取了字段名。以下是pdftk输出的一部分: FieldType: Text FieldName: Date FieldFlags: 8388608 FieldJustification: Center FieldMaxLength: 10 --- FieldType: Text FieldName: version FieldFlags: 29360128 FieldJustificati

我有一个PDF文件,可以嵌入(或通过其他方式加载)HTML页面。PDF包含可以填写的表单。我使用
pdftk
提取了字段名。以下是pdftk输出的一部分:

FieldType: Text
FieldName: Date
FieldFlags: 8388608
FieldJustification: Center
FieldMaxLength: 10
---
FieldType: Text
FieldName: version
FieldFlags: 29360128
FieldJustification: Left
FieldMaxLength: 2
现在我需要从JS访问表单并填写这些值。我试过了,但它似乎没有提供任何选项来填写表格


有没有一种方法可以在不使用Java或服务器端处理的情况下执行此操作?

如果使用嵌入或对象标记显示PDF,则无法以任何可预测的方式将数据推送到表单中。浏览器支持PDF的方式不够一致。如果您可以强制用户在AdobeReader或Acrobat中下载并打开PDF,那么桌面版本有客户端解决方案,但在移动设备上仍然存在问题。最好的解决方案是在服务器上处理表单,并在将表单发送到客户端之前将其“展平”。。。很抱歉这个坏消息。这就是我害怕的。。。同时我在使用pdftk。我想我现在必须坚持使用它,PDFTK将允许您向表单中添加数据,但根据生成的PDF打开的查看器,数据可能会显示,也可能不会显示。据我所知,pdftk不会创建字段“外观”,它是表单中字段值在页面上的视觉表示。与HTML不同,在PDF中,这些是独立的东西。如果将“NeedAppearancess”属性设置为true,则可以使查看器更有可能显示数据。它是一个标志,指定是否为文档中的所有小部件注释构造外观流和外观字典。pdftk还可以在将pdf发送到clientYes之前将其展平。。。它可以。但它不能可靠地基于场属性生成外观。例如,如果您有一个数字字段,它有一个添加逗号、小数和货币符号的格式脚本,pdftk将不知道它,因此它不知道该字段应该是什么样子,只知道它的值是什么。计算字段也是如此。pdftk将工作。。。但是只有当你对表单有足够的了解来弥补它不能自动完成的事情时。这会导致许多不必要的自定义表单处理。如果使用嵌入或对象标记显示PDF,则无法以任何可预测的方式将数据推送到表单中。浏览器支持PDF的方式不够一致。如果您可以强制用户在AdobeReader或Acrobat中下载并打开PDF,那么桌面版本有客户端解决方案,但在移动设备上仍然存在问题。最好的解决方案是在服务器上处理表单,并在将表单发送到客户端之前将其“展平”。。。很抱歉这个坏消息。这就是我害怕的。。。同时我在使用pdftk。我想我现在必须坚持使用它,PDFTK将允许您向表单中添加数据,但根据生成的PDF打开的查看器,数据可能会显示,也可能不会显示。据我所知,pdftk不会创建字段“外观”,它是表单中字段值在页面上的视觉表示。与HTML不同,在PDF中,这些是独立的东西。如果将“NeedAppearancess”属性设置为true,则可以使查看器更有可能显示数据。它是一个标志,指定是否为文档中的所有小部件注释构造外观流和外观字典。pdftk还可以在将pdf发送到clientYes之前将其展平。。。它可以。但它不能可靠地基于场属性生成外观。例如,如果您有一个数字字段,它有一个添加逗号、小数和货币符号的格式脚本,pdftk将不知道它,因此它不知道该字段应该是什么样子,只知道它的值是什么。计算字段也是如此。pdftk将工作。。。但是只有当你对表单有足够的了解来弥补它不能自动完成的事情时。这会导致许多不必要的自定义表单处理。