property AttachmentRelationship[Index: Integer]: WString; // read only
Les fichiers associés du PDF 2.0 (ISO 32000-2 §7.11.4) marquent chaque spécification de fichier d’un nom /AFRelationship qui indique comment le fichier intégré se rapporte au contenu auquel il est attaché : Source, Data, Alternative, Supplement, EncryptedPayload, FormData, Schema ou Unspecified (Table 43). Les factures PDF/A-3 et ZUGFeRD / Factur-X comptent sur cette entrée pour identifier la charge XML exploitable par une machine
La propriété lit l’entrée via l’export natif FPDFAttachment_GetAFRelationship et renvoie le token de nom brut sous forme de chaîne Unicode. Elle renvoie une chaîne vide quand la spécification de fichier n’a pas d’entrée /AFRelationship, quand l’entrée n’est pas un nom, ou quand le pdfium.dll chargé date d’avant cet export (voir AttachmentRelationshipFeaturesAvailable)
La propriété est en lecture seule. Pour attacher des fichiers avec une relation, passez par le rédacteur côté Pascal de FPdfAssocFiles, qui émet les mêmes tokens de nom
| Index | Integer. Emplacement de pièce jointe à partir de zéro. Doit satisfaire 0 <= Index < AttachmentCount ; les autres valeurs déclenchent une EPdfError (Incorrect attachment index) |
/EmbeddedFiles ont un index ; un fichier associé référencé uniquement depuis un tableau /AF n’est pas accessible via cette propriété (voir AttachmentCount)Relationship de TPdfAttachmentMetadata, et TryGetAnnotationFileAttachment remplit le champ correspondant pour les annotations de fichier attaché
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;