/Author из словаря сведений PDF-документаproperty Author: WString; // read only
Author возвращает человекочитаемое имя человека или организации, создавшей исходный документ. Внутри свойство — тонкая обёртка над MetaText['Author'], которая в свою очередь вызывает FPDF_GetMetaText из PDFium и читает строку /Author из информационного словаря документа (словаря, на который ссылается ключ /Info в trailer — см. ISO 32000-1, раздел 14.3.3 "Document Information Dictionary")
Если документ не объявляет автора или документ сейчас не загружен, результат — пустой WString. Свойство никогда не бросает исключений — пустая строка и есть корректный маркер "автор не записан". Базовый API PDFium сам декодирует сырую байтовую строку PDFDocEncoding или UTF-16BE в UTF-16, поэтому результат всегда возвращается в нативной для Delphi кодировке WideString и его можно присваивать напрямую в TStrings, TLabel или любую другую Unicode-поверхность
Свойство только для чтения. Чтобы задать автора нового или загруженного документа, используйте низкоуровневый импорт FPDF_SetMetaText против дескриптора Document либо создайте/обновите XMP-пакет в потоке метаданных
True (документ должен быть загружен). На неактивном компоненте чтение просто вернёт пустую строку — исключение за отсутствующую запись не бросаетсяFE FF). PDFium декодирует обе формы; с кодировкой напрямую работать не придётсяAuthor пуст, а в диалоге свойств Acrobat автор виден, ищите значение в XMP-пакете (dc:creator)
procedure TForm1.ShowDocumentInfo;
begin
Pdf1.FileName := 'C:\Docs\Report.pdf';
Pdf1.Active := True;
try
Memo1.Lines.Add('Title: ' + Pdf1.Title);
Memo1.Lines.Add('Author: ' + Pdf1.Author);
Memo1.Lines.Add('Subject: ' + Pdf1.Subject);
if Pdf1.Author = '' then
Memo1.Lines.Add(' (no /Author entry in info dictionary)');
finally
Pdf1.Active := False;
end;
end;