PDFium Delphi Component Docs

AttachmentType Eigenschaft

Komponente: TPdf  ·  Unit: PDFium
Gibt die registrierte MIME-/Untertyp-Zeichenkette für die eingebettete Datei am angegebenen nullbasierten Index zurück. Der Wert stammt aus dem <code>/Subtype</code>-Eintrag des Dateispezifikations-Wörterbuchs, wie in PDF Abschnitt 7.11.3 definiert

Syntax

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

Description

Das PDF-File-Specification-Dictionary kann einen optionalen /Subtype-Namen tragen, der den IANA-MIME-Typ der eingebetteten Payload kodiert (zum Beispiel application#2Fpdf, image#2Fpng, text#2Fcsv). PDFium Delphi Component dekodiert die PDF-Hex-Escapes (#2F zurück zu /) und legt den Wert als simple Unicode-Zeichenkette wie "application/pdf" oder "image/png" offen

Verwenden Sie diese Eigenschaft, um zu entscheiden, wie die extrahierten Bytes weiterwandern — etwa application/pdf-Anhänge inline in einer anderen TPdf-Instanz öffnen, Bilder an ein TImage geben oder alles andere über einen Speichern-Dialog ablegen. Hat der Autor keinen Subtyp hinterlegt, liefert die Eigenschaft eine leere Zeichenkette; greifen Sie in dem Fall auf Endungs-Erkennung über AttachmentName zurück

Die Eigenschaft ist read-only. Der MIME-Eintrag wird beim Anlegen des Anhangs in PDFium festgelegt und lässt sich nicht an Ort und Stelle ändern; legen Sie den Slot neu an, wenn Sie den Subtyp umschreiben müssen

Parameters

IndexInteger. 0-basierter Anhangs-Slot. Muss 0 <= Index < AttachmentCount erfüllen. Indizes außerhalb des Bereichs liefern eine leere Zeichenkette

Remarks

Example

var
  I: Integer;
  Mime, Name: string;
begin
  Pdf1.LoadFromFile('mixed-attachments.pdf');
  for I := 0 to Pdf1.AttachmentCount - 1 do
  begin
    Name := Pdf1.AttachmentName[I];
    Mime := LowerCase(Pdf1.AttachmentType[I]);
    if Mime = 'application/pdf' then
      Memo1.Lines.Add('PDF: ' + Name)
    else if StartsText('image/', Mime) then
      Memo1.Lines.Add('Image: ' + Name)
    else
      Memo1.Lines.Add(Format('%s [%s]', [Name, Mime]));
  end;
end;

See Also

Attachment, AttachmentCount, AttachmentName, CreateAttachment, DeleteAttachment