我正在制作一个程序,将交互式表格生成为PDF文件。
生成的文件是here(源是可读的)。该复选框位于页面底部。在获得焦点后,它会被正确渲染(带有红色/蓝色边框的白色正方形),在失去焦点后,正方形消失并显示默认的外观(这对我来说不正确)。
我找不到错误。
感谢您的帮助。
那里描述的相同(类似)问题: 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
答案 0 :(得分:2)
我对你的PDF的观察有些不同,但仍然很有趣:
Adobe Acrobat 9 Pro v9.5.4(禁用PDF / A r / o视图)这里完全按照您最初的预期进行:它仅使用红色或蓝色框框。但是,如果切换复选框,即使再次切换回来,它也希望保存新版本,并对您的字段进行一些更改。
Adobe 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字体。