property AttachmentName[Index: Integer]: WString; // read only
Jeder PDF-Dateianhang trägt in seinem File-Specification-Dictionary einen zugeordneten Dateinamen — typischerweise den Originalnamen, wie er auf der Platte des Autors lag (zum Beispiel contract.docx oder source-data.csv). AttachmentName legt diesen Namen als WString offen, damit Sie ihn in einer UI anzeigen, als vorgeschlagenen Speichern-unter-Pfad verwenden oder per Endung abgleichen können
Die zurückgegebene Zeichenkette wird aus der UTF-16BE- oder PDFDocEncoding-Ablage des PDFs dekodiert, sodass Nicht-ASCII-Namen (Chinesisch, Kyrillisch, akzentuiertes Latein) verlustfrei durchlaufen. Hat der ursprüngliche Autor nur einen Key-Eintrag ohne expliziten /F- oder /UF-Dateinamen hinterlassen, wird eine leere Zeichenkette geliefert
Die Eigenschaft ist read-only. Das Umbenennen eines Anhangs bietet diese API nicht an; wenn Sie einen Dateinamen ändern müssen, löschen Sie den Slot mit DeleteAttachment, legen ihn mit CreateAttachment neu an und weisen die Bytes danach über Attachment erneut zu
| Index | Integer. 0-basierte Anhangsposition. Muss in [0, AttachmentCount - 1] liegen. Ein außerhalb des Bereichs liegender Index liefert eine leere Zeichenkette |
\, /), bevor Sie auf die Platte schreiben; manche Autoren-Werkzeuge legen relative Pfade im Namen ab
var
I: Integer;
FileName: string;
begin
Pdf1.LoadFromFile('package.pdf');
ListBox1.Items.BeginUpdate;
try
ListBox1.Items.Clear;
for I := 0 to Pdf1.AttachmentCount - 1 do
begin
FileName := Pdf1.AttachmentName[I];
if FileName = '' then
FileName := Format('(unnamed #%d)', [I]);
ListBox1.Items.AddObject(FileName, TObject(I));
end;
finally
ListBox1.Items.EndUpdate;
end;
end;