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
| StringListID | Die ID der Zeichenfolgenliste, wie sie von einer Erzeugerfunktion wie CheckFileCompliance zurückgegeben wird |
|---|---|
| ItemIndex | Der 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;