property AttachmentName[Index: Integer]: WString; // read only
Ogni allegato file PDF porta con sé un nome file associato nel suo dizionario file specification — in genere il nome originale così come appariva sul disco dell'autore (per esempio contract.docx o source-data.csv). AttachmentName espone quel nome come WString, così può essere mostrato in una UI, usato come percorso di salvataggio suggerito o confrontato per estensione
La stringa restituita viene decodificata dalla memoria UTF-16BE o PDFDocEncoding del PDF, così i nomi non ASCII (cinese, cirillico, latino accentato) fanno correttamente il percorso di andata e ritorno. Se l'autore originale ha lasciato solo una voce chiave senza un nome file /F o /UF esplicito, viene restituita una stringa vuota
La proprietà è in sola lettura. La rinomina di un allegato non è esposta da questa API; se devi cambiare un nome file, elimina lo slot con DeleteAttachment e ricrealo con CreateAttachment, quindi riassegna i byte tramite Attachment
| Index | Integer. Posizione dell'allegato a base zero. Deve essere in [0, AttachmentCount - 1]. Un indice fuori intervallo restituisce una stringa vuota |
\, /) prima di scrivere su disco; alcuni strumenti di creazione memorizzano percorsi relativi nel nome
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;