property AttachmentName[Index: Integer]: WString;// solo lectura
Cada adjunto de archivo PDF lleva un nombre de archivo asociado en su diccionario de especificación de archivo, normalmente el nombre de archivo original tal 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 de guardado 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 (chino, cirílico, latín con acentos) hacen el viaje de ida y vuelta correctamente. Cuando el autor original dejó solo una entrada de clave sin un nombre de archivo /F o /UF explícito, se devuelve una cadena vacía
La propiedad es de solo lectura. Renombrar un adjunto no está expuesto por esta API; si necesita cambiar un nombre de archivo, elimine el espacio con DeleteAttachment y recréelo con CreateAttachment, y luego reasigne los bytes a través de Attachment
| Index | Integer. Posición del adjunto basada en cero. Debe estar en [0, AttachmentCount - 1]. Pasar un índice fuera de rango devuelve una cadena vacía |
\, /) antes de escribir en disco; algunas herramientas de autor 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;