property AttachmentName[Index: Integer]: WString; // read only
Chaque pièce jointe PDF porte un nom de fichier associé dans son dictionnaire de spécification de fichier — typiquement le nom d’origine tel qu’il apparaissait sur le disque de l’auteur (par exemple contract.docx ou source-data.csv). AttachmentName expose ce nom sous forme de WString afin qu’il puisse être affiché dans une interface, utilisé comme chemin suggéré pour Enregistrer sous, ou comparé par extension
La chaîne renvoyée est décodée depuis le stockage UTF-16BE ou PDFDocEncoding du PDF afin que les noms non ASCII (chinois, cyrillique, latin accentué) soient conservés correctement aller-retour. Lorsque l’auteur d’origine n’a laissé qu’une entrée clé sans nom de fichier /F ou /UF explicite, une chaîne vide est renvoyée
La propriété est en lecture seule. Le renommage d’une pièce jointe n’est pas exposé par cette API ; si vous devez changer un nom de fichier, supprimez l’emplacement avec DeleteAttachment et recréez-le avec CreateAttachment, puis réaffectez les octets via Attachment
| Index | Integer. Position de pièce jointe de base 0. Doit être dans [0, AttachmentCount - 1]. Passer un index hors plage renvoie une chaîne vide |
\, /) avant d’écrire sur disque ; certains outils de création stockent des chemins relatifs dans le nom
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;