/Subtype del diccionario de especificación de archivo, tal como se define en la sección 7.11.3 del PDFproperty AttachmentType[Index: Integer]: WString; // solo lectura
El diccionario de especificación de archivo PDF puede incluir un nombre opcional /Subtype que codifica el tipo MIME IANA de la carga incrustada, por ejemplo application#2Fpdf, image#2Fpng o text#2Fcsv. PDFiumPas decodifica los escapes hexadecimales de PDF, convirtiendo #2F en /, y expone el valor como una cadena Unicode sencilla, por ejemplo "application/pdf" o "image/png"
Usa esta propiedad para decidir cómo despachar los bytes extraídos, por ejemplo abrir adjuntos application/pdf en línea en otra instancia de TPdf, enviar imágenes a un TImage o guardar todo lo demás mediante un diálogo de Guardar. Cuando el autor no registró un subtipo, la propiedad devuelve una cadena vacía; en ese caso recurre a la detección por extensión sobre AttachmentName
La propiedad es de solo lectura. La entrada MIME queda fijada en el momento de crear el adjunto dentro de PDFium y no puede cambiarse en el sitio; vuelve a crear la ranura si necesitas reescribir el subtipo
| Index | Integer. Ranura de adjunto basada en cero. Debe cumplir 0 <= Index < AttachmentCount. Los índices fuera de rango devuelven una cadena vacía |
/Subtype. No trates un tipo vacío como un error
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;