property AttachmentRelationship[Index: Integer]: WString; // read only
Los archivos asociados de PDF 2.0 (ISO 32000-2 §7.11.4) etiquetan cada especificación de archivo con un nombre /AFRelationship que indica cómo se relaciona el archivo incrustado con el contenido al que va adjunto: Source, Data, Alternative, Supplement, EncryptedPayload, FormData, Schema o Unspecified (Table 43). Las facturas PDF/A-3 y ZUGFeRD / Factur-X dependen de esta entrada para marcar la carga útil XML legible por máquina
La propiedad lee la entrada a través de la exportación nativa FPDFAttachment_GetAFRelationship y devuelve el token de nombre sin procesar como una cadena Unicode. Devuelve una cadena vacía cuando la especificación de archivo no tiene entrada /AFRelationship, cuando la entrada no es un nombre o cuando el pdfium.dll cargado es anterior a la exportación (véase AttachmentRelationshipFeaturesAvailable)
La propiedad es de solo lectura. Para adjuntar archivos con una relación use el escritor del lado Pascal de FPdfAssocFiles, que emite los mismos tokens de nombre
| Index | Integer. Posición de adjunto de base cero. Debe cumplir 0 <= Index < AttachmentCount; otros valores lanzan un EPdfError (Incorrect attachment index) |
/EmbeddedFiles tienen índice; un archivo asociado referenciado únicamente desde un arreglo /AF no es alcanzable mediante esta propiedad (vea AttachmentCount)Relationship de TPdfAttachmentMetadata, y TryGetAnnotationFileAttachment llena el campo correspondiente para las anotaciones de adjunto de archivo
var
I: Integer;
begin
Pdf1.LoadFromFile('invoice-facturx.pdf');
for I := 0 to Pdf1.AttachmentCount - 1 do
if Pdf1.AttachmentRelationship[I] = 'Alternative' then
SaveInvoiceXml(Pdf1.AttachmentName[I], Pdf1.Attachment[I]);
end;