You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome中PDF表单字段聚焦后仍显示原始值的问题求助

Chrome中可填写PDF表单字段渲染异常问题排查

问题现象

  • 首次在表单字段输入内容(如连续输入"bbbbbbb")后点击离开,显示正常
  • 再次点击该字段输入新内容时,原始值会持续显示在新值后方(例如在字段开头输入"aaaaaaa",仍能看到后方的"bbbbbbbb")

环境差异

  • 仅Chrome浏览器出现此问题,Firefox中显示正常
  • Acrobat Reader打开该PDF时崩溃,但打开其他带表单的PDF也崩溃,推测与此问题无关

PDF源代码

%PDF-1.4
1 0 obj 
<< /Type /Catalog /Version /1.4 /Pages 2 0 R /Acroform << /NeedAppearances false /Fields [5 0 R ] >> /Names 8 0 R >>
endobj
2 0 obj 
<< /Type /Pages /Kids [11 0 R ] /Count 1 >>
endobj
3 0 obj 
<< /Type /Font /Subtype /Type1 /Encoding /WinAnsiEncoding /BaseFont /Helvetica >>
endobj
4 0 obj 
<< /Length 57 /Type /XObject /Subtype /Form /BBox [0 0 150 30 ] /Resources << /ProcSet [/PDF /Text /ImageC /ImageB /ImageI ] >> /Matrix [1 0 0 1 0 0 ] >>
stream
/Tx BMC 
BT 
/Helvetica 11 Tf 0 g 
5 5 Td 
() Tj 
ET 
EMC
endstream
endobj
5 0 obj 
<< /Type /Annot /Subtype /Widget /FT /Tx /Rect [150 395 300 425 ] /T (yourname) /DA (/Helvetica 11 Tf 0 g) /F 4 /Ff 0 /DR << /Font << /Helvetica 3 0 R >> >> 
/AP << /N 4 0 R >> /P 11 0 R >>
endobj
6 0 obj 
[]
endobj
7 0 obj 
<< /Names 6 0 R >>
endobj
8 0 obj 
<< /Dests 10 0 R >>
endobj
9 0 obj 
[]
endobj
10 0 obj 
<< /Names 9 0 R >>
endobj
11 0 obj 
<< /Type /Page /LastModified (D:20240326234624+01'00') /Resources << /ProcSet [/PDF /Text ] /Font << /F1 13 0 R >> >> /MediaBox [0 0 595 842 ] 
/Contents [12 0 R ] /Annots [5 0 R 5 0 R ] /Parent 2 0 R >>
endobj
12 0 obj 
<< /Length 101 >>
stream
0.8 g
20 20 555 802 re
 f
/F1 14 Tf
0 g
BT
40 400 Td
(Fill your name) Tj
ET
1 g
150 395 150 30 re
 f

endstream
endobj
13 0 obj 
<< /Type /Font /Encoding /WinAnsiEncoding /Subtype /Type1 /BaseFont /Helvetica >>
endobj
xref
0 14 
0000000000 65535 f 
0000000015 00000 n 
0000000146 00000 n 
0000000205 00000 n 
0000000302 00000 n 
0000000545 00000 n 
0000000747 00000 n 
0000000766 00000 n 
0000000800 00000 n 
0000000835 00000 n 
0000000854 00000 n 
0000000889 00000 n 
0000001107 00000 n 
0000001260 00000 n 
trailer
<< /ID [<36613663383332633536383565333731> <62306330656135306564363564633233> ] /Size 14 /Root 1 0 R >>
startxref
1358
%%EOF

生成背景

使用旧版PHP Zend PDF库生成该PDF文件。

问题原因分析

查看PDF源代码发现,页面对象(11 0 obj)的/Annots数组中重复引用了同一个表单控件对象(5 0 R出现两次):

/Annots [5 0 R 5 0 R ]

这会导致Chrome渲染时,两个完全相同的表单控件叠加显示。第一次输入的内容保存在底层控件中,第二次编辑时顶层控件显示新输入内容,但底层控件的旧内容未被清除,因此会出现新旧内容同时显示的异常。

解决方案

修改Zend PDF生成代码,确保每个表单字段仅被添加到页面的/Annots数组一次,避免重复引用同一个Widget注释对象。

内容的提问来源于stack exchange,提问作者Edhel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 21:48:14