GetStringListItem

Разни функции

Описание

Връща низа на позиция ItemIndex в списъка от низове, идентифициран от StringListID. Списъците от низове се създават от други 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);

Параметри

StringListIDID на списъка от низове, върнат от функция-източник като CheckFileCompliance
ItemIndexЕдно-базираният индекс на елемента за извличане. Първият елемент е 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