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
| StringListID | Strenglistens ID som returneret af en producentfunktion såsom CheckFileCompliance. |
|---|---|
| ItemIndex | Det 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;