property AttachmentRelationship[Index: Integer]: WString; // read only
Associated Files nach PDF 2.0 (ISO 32000-2, §7.11.4) versehen jede Dateispezifikation mit einem /AFRelationship-Namen, der aussagt, wie die eingebettete Datei zu dem Inhalt steht, an dem sie hängt: Source, Data, Alternative, Supplement, EncryptedPayload, FormData, Schema oder Unspecified (Table 43). PDF/A-3 und ZUGFeRD-/Factur-X-Rechnungen verlassen sich auf diesen Eintrag, um die maschinenlesbare XML-Payload zu kennzeichnen
Die Eigenschaft liest den Eintrag über den nativen Export FPDFAttachment_GetAFRelationship und liefert den rohen Namenstoken als Unicode-String. Einen leeren String gibt sie zurück, wenn die Dateispezifikation keinen /AFRelationship-Eintrag hat, der Eintrag kein Name ist oder die geladene pdfium.dll den Export noch nicht bereitstellt (siehe AttachmentRelationshipFeaturesAvailable)
Die Eigenschaft ist schreibgeschützt. Um Dateien mit einer Relationship anzuhängen, verwenden Sie den Pascal-seitigen Writer in FPdfAssocFiles, der dieselben Namenstoken schreibt
| Index | Integer. Nullbasierter Anhang-Slot. Muss 0 <= Index < AttachmentCount erfüllen; andere Werte lösen einen EPdfError aus (Incorrect attachment index) |
/EmbeddedFiles-Namensbaum registriert sind, haben einen Index; eine zugeordnete Datei, die ausschließlich über ein /AF-Array referenziert wird, ist über diese Eigenschaft nicht erreichbar (siehe AttachmentCount)Relationship von TPdfAttachmentMetadata, und TryGetAnnotationFileAttachment füllt das passende Feld für File-Attachment-Anmerkungen
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;