GetStringListItem

Diverse funktioner

Beskrivelse

Returnerer strengen på positionen ItemIndex i den strengliste, der identificeres af StringListID. Strenglister oprettes af andre API-funktioner — oftest CheckFileCompliance, som returnerer én post pr. fundet overensstemmelsesproblem

Syntaks

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);

Parametre

StringListIDStrenglistens ID som returneret af en producentfunktion såsom CheckFileCompliance.
ItemIndexDet etbaserede indeks for det element, der skal hentes. Det første element er 1; det sidste element er GetStringListCount(StringListID). Indekser uden for intervallet returnerer en tom streng.

Returværdi

Strengen ved det ønskede indeks eller en tom streng, hvis StringListID er ugyldig, eller ItemIndex ligger uden for [1 .. GetStringListCount].

Bemærkninger

For lister, der oprettes af CheckFileCompliance, er elementformatet CODE: human-readable description, hvor CODE er en af de femcifrede problemkoder, der er dokumenteret på siden CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Fjern præfikset før kolonet for at behandle koden programmatisk

Eksempel

// 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;

Se også

GetStringListCount, ReleaseStringList, CheckFileCompliance