/Author dal dizionario delle informazioni del documento PDFproperty Author: WString; // read only
Author restituisce il nome leggibile dalla persona o dall'organizzazione
che ha creato il documento originale. Internamente la proprietà è un thin
wrapper attorno a MetaText['Author'],
che a sua volta chiama la FPDF_GetMetaText di PDFium per leggere la
stringa /Author dal dizionario delle informazioni del documento
(il dizionario referenziato dalla chiave /Info del trailer
— vedi ISO 32000-1, sezione 14.3.3 "Document Information Dictionary")
Se il documento non dichiara un autore, o se il documento non è
attualmente caricato, il risultato è una WString vuota. La
proprietà non solleva mai eccezioni — una stringa vuota è il corretto
sentinel per "nessun autore registrato". Poiché l'API PDFium sottostante decodifica
la stringa di byte PDFDocEncoding o UTF-16BE grezza in
UTF-16 per te, il risultato è sempre restituito nella codifica nativa Delphi
WideString ed è sicuro assegnarlo direttamente a una
TStrings, a una TLabel o a qualsiasi altra superficie
Unicode-aware
La proprietà è in sola lettura. Per impostare l'autore su un documento appena creato o
caricato, usa l'import di basso livello FPDF_SetMetaText
sull'handle Document, oppure
crea/aggiorna un pacchetto XMP tramite lo stream dei metadati
True (deve essere caricato un documento). Leggerla su un componente
inattivo restituisce semplicemente una stringa vuota — nessuna eccezione viene sollevata
per una voce mancanteFE FF). PDFium decodifica entrambe le
forme; non devi mai occuparti direttamente della codificaAuthor è vuoto ma puoi vedere un autore nella finestra di dialogo
delle proprietà di Acrobat, cerca il valore nel pacchetto 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;