Acrobat Reader忽略PDF表单复选框内容流的显示问题求助
升级Zend PDF库时PDF表单复选框/单选按钮的跨阅读器显示一致性问题
问题现象
我正在升级旧版Zend PDF库开发PDF表单,目前在复选框和单选按钮的跨阅读器显示一致性上遇到阻碍,Chrome、Firefox(Mozilla)和Acrobat Reader中显示差异明显:
- Acrobat Reader:会忽略复选框选中/未选中状态的自定义content stream,替换为自身默认样式。仅当选中的按钮获得焦点时,自定义流才会正常显示(比如设置的ZaDb字符或交叉线勾选样式),点击其他区域后又变回默认勾选标记。
- Firefox:完全忽略所有自定义设置,始终显示自身内置图标,不会出现两种图标切换的情况。
需求
我希望解决以下任一方向的问题:
- 是否有办法强制Acrobat Reader显示自定义的content stream?
- 若无法强制自定义,能否将自定义流设置为与Acrobat Reader默认样式完全一致?我可以接受默认勾选标记,但当前无法在复选框尺寸动态变化时调整好标记位置。
已尝试方案
- 开启/关闭
NeedAppearances参数 - 参考过相关主题的各类指南,但问题仍未解决
复选框源码
%PDF-1.5 %���� 1 0 obj << /Type /Catalog /Version /1.5 /Pages 2 0 R /Acroform << /NeedAppearances false /Fields [7 0 R ] >> /Names 10 0 R >> endobj 2 0 obj << /Type /Pages /Kids [13 0 R ] /Count 1 >> endobj 3 0 obj << /Type /Font /Subtype /Type1 /Encoding /WinAnsiEncoding /BaseFont /Helvetica >> endobj 4 0 obj << /Type /Font /Subtype /Type1 /Encoding /WinAnsiEncoding /BaseFont /ZapfDingbats >> endobj 5 0 obj << /Length 58 /Type /XObject /Subtype /Form /BBox [0 0 15 15 ] /Resources << /ProcSet [/PDF /Text /ImageC /ImageB /ImageI ] /Font << /ZaDb 4 0 R >> >> /Matrix [1 0 0 1 0 0 ] >> stream /Tx BMC q BT 0 g /ZaDb 15 Tf 1 1 Td (5) Tj ET Q EMC endstream endobj 6 0 obj << /Length 17 /Type /XObject /Subtype /Form /BBox [0 0 15 15 ] /Resources << /ProcSet [/PDF /Text /ImageC /ImageB /ImageI ] /Font << /ZaDb 4 0 R >> >> /Matrix [1 0 0 1 0 0 ] >> stream Tx BMC q Q EMC endstream endobj 7 0 obj << /Type /Annot /Subtype /Widget /FT /Btn /Rect [200 350 215 365 ] /T (awesome) /DA (0 g /ZaDb 15 Tf) /F 4 /Ff 0 /V /Yes /AS /Yes /DR << /Font << /ZaDb 4 0 R >> >> /AP << /N << /Yes 5 0 R /Off 6 0 R >> >> /P 13 0 R >> endobj 8 0 obj [] endobj 9 0 obj << /Names 8 0 R >> endobj 10 0 obj << /Dests 12 0 R >> endobj 11 0 obj [] endobj 12 0 obj << /Names 11 0 R >> endobj 13 0 obj << /Type /Page /LastModified (D:20240331174748+02'00') /Resources << /ProcSet [/Text /PDF /ImageC /ImageB /ImageI ] /Font << /F1 15 0 R /ZaDb 4 0 R >> >> /MediaBox [0 0 595 842 ] /Contents [14 0 R ] /Annots [7 0 R ] /Parent 2 0 R >> endobj 14 0 obj << /Length 81 >> stream /F1 14 Tf 0 g 0 g BT 40 350 Td (Everything is awesome) Tj ET 200 350 15 15 re S endstream endobj 15 0 obj << /Type /Font /Encoding /WinAnsiEncoding /Subtype /Type1 /BaseFont /Helvetica >> endobj xref 0 16 0000000000 65535 f 0000000015 00000 n 0000000147 00000 n 0000000206 00000 n 0000000303 00000 n 0000000403 00000 n 0000000670 00000 n 0000000896 00000 n 0000001126 00000 n 0000001145 00000 n 0000001179 00000 n 0000001215 00000 n 0000001235 00000 n 0000001271 00000 n 0000001519 00000 n 0000001651 00000 n trailer << /ID [<61666330663231353135323634656134> <37623763336532323165643662643432> ] /Size 16 /Root 1 0 R >> startxref 1749 %%EOF
内容的提问来源于stack exchange,提问作者Edhel
相关产品推荐
相关产品推荐

