PDFium Delphi Component Docs

AttachmentName Eigenschaft

Komponente: TPdf  ·  Unit: PDFium
Gibt den im EmbeddedFiles-Name-Tree des Dokuments für die eingebettete Datei am angegebenen nullbasierten Index registrierten Unicode-Dateinamen zurück

Syntax

property AttachmentName[Index: Integer]: WString; // read only

Description

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

Parameters

IndexInteger. 0-basierte Anhangsposition. Muss in [0, AttachmentCount - 1] liegen. Ein außerhalb des Bereichs liegender Index liefert eine leere Zeichenkette

Remarks

Example

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;

See Also

Attachment, AttachmentCount, AttachmentType, CreateAttachment, DeleteAttachment