property AttachmentType[Index: Integer]: WString; // read only
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
| Index | Integer. Créneau de pièce jointe de base 0. Doit satisfaire 0 <= Index < AttachmentCount. Les index hors plage renvoient une chaîne vide |
/Subtype. Ne traitez pas un type vide comme une erreur
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;