/Author من قاموس معلومات مستند PDFproperty Author: WString; // read only
تعيد Author الاسم المقروء بشريا للشخص أو المؤسسة التي أنشأت المستند الأصلي. داخليا تعد الخاصية غلافا رفيعا فوق MetaText['Author']، والذي يستدعي بدوره FPDF_GetMetaText من PDFium لقراءة سلسلة /Author من قاموس معلومات المستند، أي القاموس المشار إليه بمفتاح /Info في الترويسة — راجع ISO 32000-1، القسم 14.3.3 "Document Information Dictionary"
إذا لم يعلن المستند عن مؤلف، أو إذا لم يكن المستند محملا حاليا، تكون النتيجة WString فارغة. هذه الخاصية لا ترمي استثناءات أبدا — والسلسلة الفارغة هي الإشارة الصحيحة إلى "لا يوجد مؤلف مسجل". ولأن واجهة PDFium الأساسية تفك ترميز سلسلة البايت الخام من PDFDocEncoding أو UTF-16BE إلى UTF-16 نيابة عنك، تعاد النتيجة دائما بترميز Delphi الأصلي WideString وتصلح للإسناد المباشر إلى TStrings أو TLabel أو أي سطح آخر يدعم Unicode
هذه الخاصية للقراءة فقط. لتعيين المؤلف في مستند جديد أو محمّل، استخدم الاستيراد الأدنى مستوى FPDF_SetMetaText على مقبض Document، أو أنشئ/حدّث حزمة XMP عبر تدفق البيانات الوصفية
Author أن تكون Active مساوية لـ True، أي يجب أن يكون المستند محملا. أما قراءتها على مكون غير نشط فتعيد سلسلة فارغة فقط، من دون رفع استثناء عند غياب المدخلFE FF). يفك PDFium ترميز الصيغتين، لذلك لا تحتاج إلى التعامل مع الترميز مباشرةAuthor فارغة لكنك ترى مؤلفا في مربع خصائص Acrobat، فابحث عن القيمة داخل حزمة XMP (dc:creator)Author معلومة وصفية فقط. لا تُتحقق مقابل موضوع التوقيع الرقمي، ويمكن تعديلها بحرية بواسطة أي شخص يملك حق الكتابة على الملف
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;