pdf,外观流,焦点丢失后复选框未正确显示

pdf,外观流,焦点丢失后复选框未正确显示,pdf,pdf-generation,pdf-form,Pdf,Pdf Generation,Pdf Form,我正在开发一个程序,将交互式表单生成为PDF文件 生成的文件是(源是可读的)。该复选框位于页面底部。在它获得焦点后,它被正确地渲染(带有红色/蓝色边框的白色正方形),在失去焦点后,正方形消失,并显示默认外观(这对我来说是不正确的) 在《杂技9,X,XI》中 内置ChromePDF浏览器,工作正常 《阿多比席》预告-警告“形式场有多重出现” 我找不到错误 谢谢你的帮助 此处描述的相同(类似)问题: ----这是一个pdf文件的一部分,我想这是个错误 2 0 obj << /T

我正在开发一个程序,将交互式表单生成为PDF文件

生成的文件是(源是可读的)。该复选框位于页面底部。在它获得焦点后,它被正确地渲染(带有红色/蓝色边框的白色正方形),在失去焦点后,正方形消失,并显示默认外观(这对我来说是不正确的)

  • 在《杂技9,X,XI》中
  • 内置ChromePDF浏览器,工作正常
  • 《阿多比席》预告-警告“形式场有多重出现”
我找不到错误

谢谢你的帮助

此处描述的相同(类似)问题:

----这是一个pdf文件的一部分,我想这是个错误

2 0 obj
<<
  /Type /Catalog
  /Pages 1 0 R
  /OutputIntents [7 0 R]
  /Metadata 8 0 R
  /PageLabels 10 0 R
  /AcroForm 14 0 R
>>

endobj

14 0 obj
<< 
  /Fields [13 0 R] 
>>
endobj

13 0 obj
<<
  /Type /Annot
  /Subtype /Widget
  /Rect [20.0 20.0 120.0 120.0]
  /FT /Btn
  /F 4
  /T (name)
  /AS /Yes
  /V /Yes
  /AP << 
        /N <<
             /Yes 11 0 R
             /Off 12 0 R >>
   >>
>>
endobj


11 0 obj
<<
  /Type /XObject
  /SubType /Form
  /BBox [20.0 20.0 120.0 120.0]
  /Length 19 0 R
>>
stream
  ....
endstream
endobj

12 0 obj
<<
  /Type /XObject
  /SubType /Form
  /BBox [20.0 20.0 120.0 120.0]
  /Length 20 0 R
>>
stream
  ....
endstream
endobj
20对象
>
endobj
140 obj
>
endobj
13 0 obj
>
>>
endobj
110 obj
>
流动
....
尾流
endobj
12 0 obj
>
流动
....
尾流
endobj

我对你的PDF的观察有些不同,但很有趣:

  • Adobe Acrobat 9 Pro v9.5.4(禁用了PDF/A r/o视图)在这里完全符合您最初的预期:它只使用红色或蓝色框。但是,如果您切换了该复选框,即使再次切换,它也希望保存一个新的修订,并对您的字段进行一些更改

  • AdobeReaderX!v11.0.2以PDF/A只读模式启动,并显示红色边框。但是,在离开r/o模式后,它会显示默认的交叉外观。当它获得焦点时,它再次使用红色和蓝色的帧。当它失去焦点时,会返回默认外观

我在AdobeReaderX中观察到的行为!似乎是你在更多情况下观察到的

因此,本质上问题在于,在某些情况下(对于我来说:不是在PDF/A r/o模式下,不要关注表单字段),一些PDF浏览器(对于我来说:Adobe Reader XI)不使用自定义复选框外观,而是使用一些标准外观,而您认为这是不正确的

不幸的是,PDF规范中有一个提示,根据该提示,观众可能(甚至可能应该)会这样做。第12.5.6.19节小部件注释中的表189解释了外观特征词典中的条目(小部件词典中的值/MK;您不提供,因此默认值适用),其中/CA

文本字符串(可选;仅限按钮字段)小部件注释的正常标题, 在不与用户交互时显示

与此表中列出的其余条目不同,这些条目仅适用于 与按钮字段关联的小部件注释(请参见中的按钮 12.7.4.2“按钮字段”),CA条目可与任何类型的 按钮字段,包括复选框(见12.7.4.2“按钮”中的复选框 字段)和单选按钮(12.7.4.2“按钮字段”中的单选按钮)

因此,特别是复选框,当不与用户交互时,应使用其正常标题显示,而不是其外观

当没有关注表单字段时,Adobe Reader似乎认为表单没有与用户交互,因此切换到显示标题而不是外观


不幸的是,您可以为按钮定义的普通标题只是一个文本字符串,默认情况下,它似乎是在Zapf Dingbats字体的上下文中解释的(例如,尝试
/MK
)。不过,这是您应该继续查找的地方,也许您可以使用您设计的某种类型3字体,其中包含蓝色和红色方形边框。

请发布代码的亮点,以便所有想要帮助您的人都能更轻松地使用。是否可以“停用”这种行为是否总是保持正常的外观?@Lonzak是否可以“停用”这种行为?PDF规范要求这种行为。因此,我怀疑它能否被停用;可能有一些模糊的PDF查看器高级设置。。。但我真的很怀疑。