PDFium Delphi Component Docs

GetAttachmentDictionaryValue 메서드

컴포넌트: TPdf  ·  유닛: PDFium
문서 수준 내장 첨부 파일의 파일 명세 딕셔너리에서 키 하나를 읽어 값 유형과 디코딩된 문자열을 함께 보고합니다

Syntax

function GetAttachmentDictionaryValue(Index: Integer; const Key: WString): TPdfDictionaryValue;

IndexInteger. 내장 첨부 파일의 0 기반 인덱스로, 0 .. AttachmentCount - 1 범위입니다. 범위를 벗어난 인덱스는 EPdfError를 일으킵니다
KeyWString. 첨부 파일의 파일 명세 딕셔너리에서 읽을 항목 이름입니다. 예를 들어 생성 애플리케이션이 기록한 사용자 지정 키가 있습니다
ResultTPdfDictionaryValue. Kind는 항상 네이티브 값 유형을 담고, pdvkStringpdvkName 값에는 StringValue가 채워지고 HasScalarValueTrue입니다

Description

EmbeddedFiles 트리의 모든 항목은 PDF 파일 명세 딕셔너리이며, 첨부 파일의 전용 메타데이터가 바로 이 딕셔너리에 담깁니다. 이 호출은 그 딕셔너리의 키 하나를 조회해 TPdfDictionaryValue를 반환합니다. 값 유형은 네이티브 타입 조회에서 디코딩되고, 항목이 문자열이나 이름이면 텍스트를 읽어 HasScalarValue를 설정한 채 StringValue로 반환합니다

그 밖의 유형(숫자, 불리언, 배열, 중첩 딕셔너리, 스트림)은 Kind만으로 보고됩니다. 문자열과 이름 항목만 디코딩하므로 HasScalarValueFalse로 유지됩니다. 키가 존재하는지부터 확인하려면 AttachmentHasKey를 먼저 사용하세요

이 호출은 불려 온 문서와 유효한 첨부 파일 인덱스가 필요합니다. 문자열 항목의 평문만으로 충분하고 유형이 중요하지 않다면 GetAttachmentStringValue를, 문자열 항목을 다시 쓰려면 SetAttachmentStringValue를 사용하세요

Remarks

Example

var
  Value: TPdfDictionaryValue;
begin
  if Pdf1.AttachmentHasKey(0, 'SourceApp') then
  begin
    Value := Pdf1.GetAttachmentDictionaryValue(0, 'SourceApp');
    if Value.HasScalarValue then
      Memo1.Lines.Add('Source: ' + Value.StringValue);
  end;
end;

See Also

AttachmentHasKey, GetAttachmentStringValue, SetAttachmentStringValue, Attachment