焦点丢失后,pdf,出现流,复选框无法正确显示

时间:2013-03-18 14:55:58

标签: pdf pdf-generation pdf-form

我正在制作一个程序,将交互式表格生成为PDF文件。

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

  • 在Acrobat 9,X,XI
  • 在内置chrome pdf查看器中,它可以正常工作
  • Adob​​e XI Pro - 预检 - 显示警告“表单字段有多个外观”

我找不到错误。

感谢您的帮助。

那里描述的相同(类似)问题: http://forums.adobe.com/message/5144579#5144579

----这是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

1 个答案:

答案 0 :(得分:2)

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

  • Adob​​e Acrobat 9 Pro v9.5.4(禁用PDF / A r / o视图)这里完全按照您最初的预期进行:它仅使用红色或蓝色框框。但是,如果切换复选框,即使再次切换回来,它也希望保存新版本,并对您的字段进行一些更改。

  • Adob​​e Reader X! v11.0.2以PDF / A只读模式启动并显示红框。但是,在离开该r / o模式后,它会显示默认的交叉外观。当它获得焦点时,它再次使用红色和蓝色框架。当它失去焦点时,它会回到默认状态。

我在Adobe Reader X中观察到的行为!似乎是你在更多情况下所观察到的。

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

不幸的是,PDF规范ISO 32000-1:2008中有一个提示,根据该提示,可能(甚至可能 )就是这样做的。 12.5.6.1节中的表189 小组件注释解释了小部件字典中的外观特征字典中的条目( / MK 的值;您没有提供一个,因此默认应用),其中 / CA

  

文本字符串(可选;仅限按钮字段)窗口小部件注释的普通字幕,   当不与用户交互时,应显示该信息。

     

与本表中列出的仅适用于的表中的其余条目不同   与按钮字段关联的窗口小部件注释(请参阅按钮中的按钮)   12.7.4.2,“按钮字段”), CA 条目可以与任何类型的条目一起使用   按钮字段,包括复选框(请参阅12.7.4.2中的复选框,“按钮   字段“)和单选按钮(12.7.4.2中的单选按钮,”按钮字段“)。

特别是复选框,因此,每当不与用户交互时, 将使用普通字幕显示,而不是他们的出现。

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

不幸的是,您可以为按钮定义的普通标题只是一个文本字符串,默认情况下似乎是在Zapf Dingbats字体的上下文中解释(例如,尝试/MK<</CA(1)>>)。但是,这是你应该继续寻找的地方,也许你可以使用你设计的一些包含蓝色和红色方框的Type 3字体。