@joelgeraci:你说得对,pikepdf 不会生成外观流。奇怪的是,像 XFCE4 Document Viewer 这样的查看器会显示某些字段的填充值,但不会显示其他字段。这是 pikepdf 生成的页面转储的一部分:
<pikepdf.Dictionary(type_="/Page")({
"/Annots": [ {
"/DA": "/HeBo 14 Tf 0 g",
"/F": 4,
"/FT": "/Tx",
"/Ff": 12582912,
"/MK": {
},
"/P": <.get_object(785, 0)>,
"/Q": 1,
"/Rect": [ Decimal('134.783'), Decimal('432.837'), Decimal('205.463'), Decimal('458.588') ],
"/StructParent": 201,
"/Subtype": "/Widget",
"/T": "Number_01",
"/Type": "/Annot"
}, {
"/DA": "/HeBo 14 Tf 0 g",
"/F": 4,
"/FT": "/Tx",
"/Ff": 12582912,
"/MK": {
},
"/P": <.get_object(785, 0)>,
"/Q": 1,
"/Rect": [ Decimal('590.089'), Decimal('430.645'), Decimal('660.768'), Decimal('455.76') ],
"/StructParent": 202,
"/Subtype": "/Widget",
"/T": "Units_01",
"/Type": "/Annot"
} ],
...
})>
虽然字段“Number_01”显示为已填写,但字段“Units_01”未填写,尽管两者都没有出现流。尽管 pikepdf 无法更新外观流,但其他字段确实具有外观流并且也显示了填充的值。我还想知道为什么 Acrobat DC 会为某些字段创建外观流,而不会为其他字段创建外观流。