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

StringListIDID seznama nizov, kot ga vrne ustvarjalna funkcija, npr. CheckFileCompliance
ItemIndexIndeks 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;

Glejte tudi

GetStringListCount, ReleaseStringList, CheckFileCompliance