PDFiumPas 文件

AttachmentType 屬性

此 API 條目保留識別符號、簽名、程式碼塊和 PDF 術語的原始形式。
元件: TPdf  ·  單元: PDFium
傳回指定以 0 起算索引之內嵌檔案所登錄的 MIME / 子類型字串。此值取自檔案規格字典的 /Subtype 項目,定義見 PDF 第 7.11.3 節

語法

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

說明

PDF 檔案規格字典可以帶有可選的 /Subtype 名稱,用來編碼內嵌承載內容的 IANA MIME 類型,例如 application#2Fpdfimage#2Fpngtext#2Fcsv。PDFiumPas 會解碼 PDF 十六進位跳脫字元(把 #2F 還原成 /),並將值以純 Unicode 字串形式公開,例如 "application/pdf""image/png"

可用此屬性決定如何派送擷取出的位元組,例如把 application/pdf 附件直接在另一個 TPdf 實例中開啟、將影像送到 TImage,或透過儲存對話框存下其他檔案。若作者未記錄子類型,屬性會傳回空字串;此時可改以 AttachmentName 做副檔名判斷

此屬性為唯讀。MIME 項目會在 PDFium 內建立附件時固定下來,無法就地修改;若必須重寫子類型,請重新建立該槽位

參數

IndexInteger。以 0 起算的附件槽位。必須符合 0 <= Index < AttachmentCount。超出範圍的索引會傳回空字串

備註

範例

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;

另請參閱

Attachment, AttachmentCount, AttachmentName, CreateAttachment, DeleteAttachment