missingAppearanceReason property

String? get missingAppearanceReason

Why normalAppearance returned null, for use in warnings.

null when there is a usable appearance.

Implementation

String? get missingAppearanceReason {
  if (normalAppearance != null) return null;

  final appearances = _store.resolveDict(dictionary[PdfNameTokens.ap]);
  if (appearances == null) return 'sem /AP';

  final normal = appearances[PdfNameTokens.n];
  if (normal == null) return 'com /AP, mas sem /AP /N';

  final states = _store.resolveDict(normal);
  if (states != null && !states.containsKey(PdfNameTokens.bbox)) {
    final selected = dictionary[PdfNameTokens.as];
    if (selected is! PdfName && states.values.length > 1) {
      return 'com /AP /N em ${states.values.length} estados '
          '(${states.values.keys.join(', ')}) e sem /AS que escolha um';
    }
    return 'com /AP /N em estados, mas o estado escolhido não é um form '
        'XObject com /BBox';
  }

  return 'com /AP /N que não é um form XObject com /BBox';
}