This property determines if the NeedAppearances flag in the PDF
is set when field values are changed.
So, if this property is true, every time you change the value of
a field ABCpdf will ensure that a NeedsAppearances flag is
available and that it is set to true. It only ever sets the flag to
true so if you were to want to set it to false, this would be
something you would need to do using SetInfo or similar low level
The NeedAppearances flag signals to the viewing application that
field appearances should be automatically generated rather than
using the appearance embedded in the PDF.
It is generally best to allow the viewing application to
generate its own appearances and use the pre-generated ones as a
In PDF 2.0 the 'true' setting for this property has been
deprecated. The logic is that documents should generate their own
appearance streams rather than relying on the behavior of the
viewer. There is truth in this, but also a problem - the generation
of appearance streams is not defined in the specification - it
inevitably varies between applications.
So the reality is that, without this flag, users may see a
document which looks subtly different from the one they expect. We
leave this default as true so that users see the documents as they
expect. If you require strict adherence to PDF 2.0 then you may
wish to set it to false.