PDFium Delphi Component Docs

AttachmentType Свойство

Компонент: TPdf  ·  Модуль: PDFium
Возвращает зарегистрированную MIME-строку / subtype для встроенного файла по указанному индексу с нуля. Значение берётся из записи /Subtype словаря спецификации файла, как определено в разделе 7.11.3 PDF

Syntax

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

Description

Словарь спецификации файла PDF может содержать необязательное имя /Subtype, кодирующее MIME-тип IANA встроенной полезной нагрузки (например, application#2Fpdf, image#2Fpng, text#2Fcsv). PDFium Delphi Component декодирует шестнадцатеричные escape-последовательности PDF (#2F обратно в /) и предоставляет значение как обычную строку Unicode, например "application/pdf" или "image/png"

Используйте это свойство, чтобы решить, как обработать извлечённые байты — например, открывать вложения application/pdf прямо в другом экземпляре TPdf, отправлять изображения в TImage или сохранять всё остальное через диалог сохранения. Если автор не указал subtype, свойство возвращает пустую строку; в этом случае используйте определение по расширению из AttachmentName

Свойство доступно только для чтения. Запись MIME фиксируется в PDFium в момент создания вложения и не может быть изменена на месте; пересоздайте слот, если нужно переписать subtype

Parameters

IndexInteger. Слот вложения с отсчётом от нуля. Должно выполняться 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