property AttachmentName[Index: Integer]: WString; // solo lectura
Cada adjunto de archivo PDF lleva un nombre asociado en su diccionario de especificación de archivo, normalmente el nombre original tal y como aparecía en el disco del autor, por ejemplo contract.docx o source-data.csv. AttachmentName expone ese nombre como un WString para que pueda mostrarse en una interfaz, usarse como ruta sugerida para Guardar como o compararse por extensión
La cadena devuelta se decodifica desde el almacenamiento UTF-16BE o PDFDocEncoding del PDF, de modo que los nombres no ASCII, como chino, cirílico o latín con acentos, se conservan correctamente en ida y vuelta. Cuando el autor original deja solo una entrada de clave sin un nombre /F o /UF explícito, se devuelve una cadena vacía
La propiedad es de solo lectura. Este API no expone el cambio de nombre de un adjunto; si necesitas cambiarlo, elimina la ranura con DeleteAttachment y créala de nuevo con CreateAttachment, y después reasigna los bytes a través de Attachment
| Index | Integer. Posición basada en cero del adjunto. Debe estar en [0, AttachmentCount - 1]. Pasar un índice fuera de rango devuelve una cadena vacía |
\ o /, antes de escribir en disco; algunas herramientas de autoría almacenan rutas relativas en el nombre
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;