PDFium Delphi Component Docs

AttachmentType 속성

컴포넌트: TPdf  ·  유닛: PDFium
지정한 0 기반 인덱스의 embedded file에 대해 등록된 MIME / subtype 문자열을 반환합니다. 값은 PDF 7.11.3절에 정의된 file specification dictionary의 /Subtype 항목에서 가져옵니다

Syntax

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

Description

PDF 파일 스펙 딕셔너리에는 임베드된 페이로드의 IANA MIME 타입을 인코딩하는 선택적 /Subtype 이름을 넣을 수 있습니다(예: application#2Fpdf, image#2Fpng, text#2Fcsv). PDFium Delphi Component는 PDF 16진수 이스케이프를 디코딩하고(#2F를 /로) 값을 "application/pdf"나 "image/png" 같은 평범한 Unicode 문자열로 노출합니다

꺼낸 바이트를 어디로 보낼지 판단할 때 이 프로퍼티를 쓰세요 — 예컨대 application/pdf 첨부는 다른 TPdf 인스턴스에서 바로 열고, 이미지는 TImage로 보내고, 나머지는 저장 대화상자로 저장하는 식입니다. 작성자가 서브타입을 기록하지 않았으면 빈 문자열을 반환하니, 그럴 때는 AttachmentName의 확장자로 판별하는 방식으로 폴백하세요

이 프로퍼티는 읽기 전용입니다. MIME 항목은 첨부 생성 시점에 PDFium 안에서 고정되며 그 자리에서 바꿀 수 없습니다. 서브타입을 다시 써야 한다면 슬롯을 새로 만드세요

Parameters

IndexInteger. 첨부 슬롯의 0 기반 위치입니다. 0 <= Index < AttachmentCount를 만족해야 하며, 범위를 벗어난 인덱스는 빈 문자열을 반환합니다

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