PDFium Delphi Component Docs

AttachmentType Propriété

Composant: TPdf  ·  Unit: PDFium
Renvoie la chaîne MIME / sous-type enregistrée pour le fichier intégré à l’index indexé à partir de zéro indiqué. La valeur est prise dans l’entrée /Subtype du dictionnaire de spécification de fichier, comme défini dans la section 7.11.3 du PDF

Syntax

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

Description

Le dictionnaire de spécification de fichier PDF peut porter un /Subtype facultatif qui encode le type MIME IANA de la charge utile intégrée (par exemple application#2Fpdf, image#2Fpng, text#2Fcsv). PDFium Delphi Component décode les séquences d’échappement hexadécimales du PDF (#2F redevient /) et expose la valeur sous forme d’une simple chaîne Unicode telle que "application/pdf" ou "image/png"

Utilisez cette propriété pour décider comment répartir les octets extraits — par exemple en ouvrant en ligne les pièces jointes application/pdf dans une autre instance de TPdf, en envoyant les images vers un TImage, ou en enregistrant tout le reste via une boîte de dialogue d’enregistrement. Lorsque l’auteur n’a pas enregistré de sous-type, la propriété renvoie une chaîne vide ; dans ce cas, revenez à la détection par extension sur AttachmentName

La propriété est en lecture seule. L’entrée MIME est figée au moment de la création de la pièce jointe dans PDFium et ne peut pas être modifiée en place; recréez l’emplacement si vous devez réécrire le sous-type

Parameters

IndexInteger. Créneau de pièce jointe de base 0. Doit satisfaire 0 <= Index < AttachmentCount. Les index hors plage renvoient une chaîne vide

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