GetStringListItemA

Različne funkcije

Opis

Pripona A označuje vstopno točko ANSI (char) za DLL; vmesnik ActiveX/COM izpostavlja le obliko Unicode. Obnašanje je enako kot pri GetStringListItem, argumenti nizov pa se tolmačijo s trenutno kodno stranjo SetAnsiMode

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 DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;

DLL

const char * DLGetStringListItemA(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