GetStringListItem
Različne funkcije
Opis
Vrne niz na položaju ItemIndex v seznamu nizov, določenem z StringListID. Sezname nizov ustvarjajo druge funkcije API — najpogosteje CheckFileCompliance, ki vrne en vnos na vsako odkrito težavo skladnosti
Sintaksa
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);
Parametri
| StringListID | ID seznama nizov, kot ga vrne ustvarjalna funkcija, npr. CheckFileCompliance |
|---|---|
| ItemIndex | Indeks elementa za pridobitev (številčenje od 1). Prvi element je 1, zadnji pa GetStringListCount(StringListID). Indeksi izven razpona vrnejo prazen niz |
Vrnjena vrednost
Niz na zahtevanem indeksu ali prazen niz, kadar je StringListID neveljaven ali je ItemIndex izven [1 .. GetStringListCount]
Opombe
Za sezname, ki jih ustvari CheckFileCompliance, ima element obliko KODA: opis, berljiv za ljudi, kjer je KODA ena od petmestnih kod težav, dokumentiranih na strani CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Za programsko obdelavo kode odstranite predpono pred dvopičjem
Primer
// 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;