GetStringListItem

Miscellaneous functions

Description

Gibt die Zeichenkette an der Position ItemIndex in der durch StringListID identifizierten Zeichenkettenliste zurück; Zeichenkettenlisten werden von anderen API-Funktionen erzeugt — am häufigsten von CheckFileCompliance, das einen Eintrag pro erkanntem Konformitätsproblem zurückgibt

Syntax

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

Parameters

StringListIDDie ID der Zeichenfolgenliste, wie sie von einer Erzeugerfunktion wie CheckFileCompliance zurückgegeben wird
ItemIndexDer 1-basierte Index des abzurufenden Elements. Das erste Element ist 1; das letzte Element ist GetStringListCount(StringListID). Indizes außerhalb des Bereichs geben eine leere Zeichenfolge zurück

Return value

Die Zeichenfolge am angeforderten Index oder eine leere Zeichenfolge, wenn StringListID ungültig ist oder ItemIndex außerhalb von [1 .. GetStringListCount] liegt

Remarks

Für Listen, die von CheckFileCompliance erzeugt werden, ist das Elementformat CODE: lesbare Beschreibung, wobei CODE einer der fünfstelligen Problemcodes ist, die auf der Seite CheckFileCompliance dokumentiert sind (00002, 00003, 00005, 00006, 00007, 00011, 00012); entfernen Sie das Präfix vor dem Doppelpunkt, um programmgesteuert auf den Code zu reagieren

Example

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

See also

GetStringListCount, ReleaseStringList, CheckFileCompliance