property AttachmentCount: Integer; // solo lectura
AttachmentCount enumera los flujos de archivo incrustados accesibles a través del árbol de nombres /Names /EmbeddedFiles del catálogo, según la sección 7.11 de la especificación PDF 1.7. Se trata de archivos arbitrarios, como XML, hojas de cálculo, CAD de origen, XML firmado o archivos ZIP, empaquetados dentro del PDF y expuestos por los visores en la barra lateral de adjuntos. PDF/A-3 exige específicamente que todo artefacto de origen relevante se incruste de esta manera para garantizar la reproducibilidad a largo plazo
El valor es 0 cuando Active es False y cuando el documento no contiene archivos incrustados. Las anotaciones de adjunto de archivo, con subtipo /FileAttachment, no se cuentan aquí, ya que son anotaciones a nivel de página y aparecen a través de AnnotationCount. PDFiumPas expone los flujos incrustados como TBytes mediante Attachment[Index]; el nombre legible y el tipo con estilo MIME están disponibles a través de AttachmentName[Index] y AttachmentType[Index]
El bucle típico es for I := 0 to Pdf.AttachmentCount - 1 do. Cada acceso a Attachment[I] descomprime el flujo del archivo incrustado en memoria, así que guarda en caché el TBytes si necesitas escribirlo en disco y pasarlo a un analizador. Añadir o quitar un adjunto invalida los índices, así que vuelve a leer AttachmentCount después de una mutación
FeatureSupported(feAttachment) to detect whether the
installed PDFium build supports modifying attachment names.
var I: Integer;
var Data: TBytes;
for I := 0 to Pdf1.AttachmentCount - 1 do
begin
Data := Pdf1.Attachment[I];
TFile.WriteAllBytes(Pdf1.AttachmentName[I], Data);
end;