findFormXObject method
Form XObject named name (with the slash), or null.
Implementation
@override
PdfContentFormXObject? findFormXObject(String name) {
final xObjects = _subDictionary('/XObject');
final entry = xObjects?.values[name];
if (entry == null) return parent?.findFormXObject(name);
final ref = PdfParserObjects.asRef(entry);
final object = ref == null ? null : parser.getObject(ref.obj);
final dictValue = object?.value ?? parser.resolve(entry);
if (dictValue is! PdfDictToken) return parent?.findFormXObject(name);
if (PdfParserObjects.asName(dictValue.values['/Subtype']) != '/Form') {
return null;
}
final raw = object?.streamData;
if (raw == null) return null;
final content = decodeStreamData(parser, dictValue, raw);
if (content == null) return null;
final own = parser.resolve(dictValue.values['/Resources']);
return PdfContentFormXObject(
content: content,
resources: PdfParserContentResources(
parser, own is PdfDictToken ? own : null,
parent: this),
matrix: _numberArray(parser, dictValue.values['/Matrix']),
objectId: ref?.obj,
);
}