GetStringListItem

기타 함수

설명

StringListID로 식별한 문자열 목록의 ItemIndex 위치 문자열을 반환합니다. 문자열 목록은 다른 API 함수에서 생성하며 가장 흔한 CheckFileCompliance는 감지된 규정 준수 문제마다 한 항목을 반환합니다

구문

Delphi

Function TPDFlib.GetStringListItem(StringListID, ItemIndex: Integer): WideString;

ActiveX

Function PDFlib::GetStringListItem(StringListID As Long, ItemIndex As Long) As String

DLL

const wchar_t * DLGetStringListItem(int InstanceID, int StringListID, int ItemIndex);

매개변수

StringListIDCheckFileCompliance 같은 생성 함수가 반환한 문자열 목록의 ID
ItemIndex가져올 항목의 1부터 시작하는 인덱스입니다 첫 번째 항목은 1이고 마지막 항목은 GetStringListCount(StringListID)입니다 범위를 벗어난 인덱스는 빈 문자열을 반환합니다

반환 값

요청한 인덱스의 문자열을 반환하며 StringListID가 잘못되었거나 ItemIndex가 [1 .. GetStringListCount] 범위를 벗어나면 빈 문자열을 반환합니다

비고

CheckFileCompliance가 만든 목록의 항목 형식은 CODE: human-readable description이며 CODE는 CheckFileCompliance 페이지에 문서화된 다섯 자리 문제 코드(00002, 00003, 00005, 00006, 00007, 00011, 00012) 중 하나입니다. 코드로 처리하려면 콜론 앞 접두사를 제거합니다

예제

// Parse the issue code from each compliance issue line
var
  Issues, Count, I, ColonPos: Integer;
  Line, Code: WideString;
begin
  Issues := PDF.CheckFileCompliance('archive.pdf', '', 1, 0);
  if Issues = 0 then Exit;

  Count := PDF.GetStringListCount(Issues);
  for I := 1 to Count do
  begin
    Line := PDF.GetStringListItem(Issues, I);
    ColonPos := Pos(':', Line);
    if ColonPos > 0 then
      Code := Trim(Copy(Line, 1, ColonPos - 1))
    else
      Code := Line;

    if Code = '00006' then
      WriteLn('Document is encrypted — cannot be PDF/A')
    else
      WriteLn('Issue ', Code, ': ', Line);
  end;
  PDF.ReleaseStringList(Issues);
end;

참고 항목

GetStringListCount, ReleaseStringList, CheckFileCompliance