PDFium Delphi Component Docs

AttachmentType Proprietà

Componente: TPdf  ·  Unità: PDFium
Restituisce la stringa MIME / subtype registrata per il file incorporato all'indice specificato basato su zero. Il valore viene preso dalla voce /Subtype del dizionario file specification come definito nella sezione 7.11.3 del PDF.

Syntax

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

Description

Il dizionario file specification PDF può trasportare un nome /Subtype opzionale che codifica il tipo MIME IANA del payload incorporato (per esempio application#2Fpdf, image#2Fpng, text#2Fcsv). PDFium Delphi Component decodifica le sequenze di escape esadecimali del PDF (#2F di nuovo in /) ed espone il valore come stringa Unicode semplice come "application/pdf" o "image/png"

Usa questa proprietà per decidere come instradare i byte estratti — per esempio aprendo gli allegati application/pdf inline in un'altra istanza TPdf, inviando le immagini a un TImage, o salvando tutto il resto tramite un dialogo di salvataggio. Quando l'autore non ha registrato un subtype la proprietà restituisce una stringa vuota; in tal caso ripiega sul riconoscimento per estensione di AttachmentName

La proprietà è in sola lettura. La voce MIME è fissa al momento della creazione dell'allegato dentro PDFium e non può essere cambiata in place; ricrea lo slot se devi riscrivere il subtype

Parameters

IndexInteger. Slot dell'allegato a base zero. Deve soddisfare 0 <= Index < AttachmentCount. Gli indici fuori intervallo restituiscono una stringa vuota

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