/Subtype 項目,定義見 PDF 第 7.11.3 節property AttachmentType[Index: Integer]: WString; // read only
PDF 檔案規格字典可以帶有可選的 /Subtype 名稱,用來編碼內嵌承載內容的 IANA MIME 類型,例如 application#2Fpdf、image#2Fpng、text#2Fcsv。PDFiumPas 會解碼 PDF 十六進位跳脫字元(把 #2F 還原成 /),並將值以純 Unicode 字串形式公開,例如 "application/pdf" 或 "image/png"
可用此屬性決定如何派送擷取出的位元組,例如把 application/pdf 附件直接在另一個 TPdf 實例中開啟、將影像送到 TImage,或透過儲存對話框存下其他檔案。若作者未記錄子類型,屬性會傳回空字串;此時可改以 AttachmentName 做副檔名判斷
此屬性為唯讀。MIME 項目會在 PDFium 內建立附件時固定下來,無法就地修改;若必須重寫子類型,請重新建立該槽位
| Index | Integer。以 0 起算的附件槽位。必須符合 0 <= Index < AttachmentCount。超出範圍的索引會傳回空字串 |
/Subtype。不要把空白類型視為錯誤
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;