Docs de PDFiumPas

AttachmentCount Propiedad

Esta entrada API conserva identificadores, firmas, bloques de código y términos PDF en su forma original.
Componente: TPdf  ·  Unidad: PDFium
Number of embedded file attachments declared in the document.

Sintaxis

property AttachmentCount: Integer; // solo lectura

Descripción

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

Notas

Ejemplo

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;

Véase también

Attachment, AttachmentName, AttachmentType, AnnotationCount