gpt4 book ai didi

pdf - 使用 AcroForm 技术提交 PDF 表单时的数据编码

转载 作者:行者123 更新时间:2023-12-01 18:29:30 24 4
gpt4 key购买 nike

当我创建一个包含 AcroForm 格式的文本字段(PDF 词典,无 XFA)的 PDF 表单(例如使用 Acrobat)并将数据提交到服务器时,如何指定/检索将要使用的编码用过吗?

例如。当我提交中文字形“测试”(测试)时,我在服务器端收到以下标题和内容:

accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
content-type: application/x-www-form-urlencoded
content-length: 23
acrobat-version: 10.1.4
user-agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDC; .NET4.0C; AskTbCLA/5.15.1.22229)
accept-encoding: gzip, deflate
connection: Keep-Alive
Song=%b2%e2%ca%d4&Test=

除了 x-www-form-urlencoded 之外,没有任何编码引用。这两个字形表示为四个字节:B2 E2 CA D4。经过一番调查,我知道 B2E2 是第一个字形的 GBK 值,CAD4 是第二个字形的 GBK 值,但我无法从请求 header 中得出此值。

总是 GBK 吗?我想通过在 PDF 的字典中设置特定键来更改数据编码,但似乎没有。例如:我想确保 PDF 始终发送 Unicode 字符而不是 GBK。

请注意,我已经尝试过更改文本字段的默认字体(和编码)。我还在 ISO-32000-1 中搜索了字段中的编码,但我发现的只是一种为复选框定义非拉丁字符的方法,以及有关 FDF 文件编码的一些信息。这些都没有回答我的问题。

最佳答案

我刚刚自己找到了主要问题的答案。我在 ISO-32000-1 或 ISO-32000-2 草案中没有找到任何内容,但在研究 Acrobat JavaScript 引用时,我发现了可用于 submitForm( ) 方法。该参数定义:

The encoding for the values submitted. String values are utf-8, utf-16, Shift-JIS, BigFive, GBK, and UHC. If not passed, the current Acrobat behavior applies. For XML-based formats, utf-8 is used. For other formats, Acrobat tries to find the best host encoding for the values being submitted. XFDF submission ignores this value and always uses utf-8.

换句话说:在我的例子中,使用 GBK 是因为它最适合提交汉字。但是,可以通过使用 submitForm() JavaScript 方法并使用适当的值来强制使用 UTF-8。

基于这个问题,我已经要求ISO委员会在ISO-32000-2中修复这个问题。因此,第 12.7.6.2 节中标题为特定于提交表单操作的其他条目的表中添加了一个额外的可能条目:

CharSet: string

(Optional; inheritable) Possible values include: utf-8, utf-16, Shift-JIS, BigFive, GBK, or UHC.

从 PDF 2.0 开始,这个问题将不再存在。

更新:我的建议是 ISO 32000-2(又名 PDF 2.0):

enter image description here

ISO 32000-1 中不存在 CharSet 键;它是在 ISO 32000-2 中引入的。

关于pdf - 使用 AcroForm 技术提交 PDF 表单时的数据编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12604171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com