/Author 항목 값을 반환합니다property Author: WString; // read only
Author는 원본 문서를 만든 사람이나 조직의 사람이 읽을 수 있는 이름을 반환하며,
내부적으로 이 프로퍼티는 MetaText['Author']의 얇은
래퍼이고, MetaText는 PDFium의 FPDF_GetMetaText를 호출해 문서 정보 딕셔너리에서
/Author 문자열을 읽습니다
(trailer의 /Info 키가 참조하는 딕셔너리이며
— ISO 32000-1, 14.3.3절 "Document Information Dictionary" 참고)
문서에 작성자가 선언되지 않았거나 문서가 로드되어 있지 않으면 결과는 빈
WString입니다. 이 프로퍼티는 절대 예외를 일으키지 않습니다 —
"기록된 작성자 없음"의 올바른 신호가 빈 문자열입니다. 하부 PDFium API가 원본
PDFDocEncoding 또는 UTF-16BE 바이트 문자열을
UTF-16으로 디코딩해 주기 때문에, 결과는 항상 Delphi 네이티브인
WideString 인코딩으로 돌아오며 TStrings,
TLabel 등 Unicode를 다루는 어떤 곳에든 바로 대입해도 안전합니다
이 프로퍼티는 읽기 전용입니다. 새로 만들었거나 로드한 문서에 작성자를 지정하려면
Document 핸들에 대해 저수준 FPDF_SetMetaText 임포트를
사용하거나, 메타데이터 스트림으로 XMP 패킷을 작성·갱신하세요
True여야 합니다(문서가 로드되어 있어야 함). 비활성
컴포넌트에서 읽으면 그냥 빈 문자열을 반환할 뿐 — 항목이 없다고
예외를 일으키지는 않습니다FE FF)이 앞에 붙은 UTF-16BE 바이트
문자열로 저장합니다. 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;