GetStringListItemA
Hàm khác
Mô tả
Ký tự A ở cuối biểu thị điểm vào DLL ANSI (char); bề mặt ActiveX/COM chỉ cung cấp dạng Unicode. Hành vi giống hệt với GetStringListItem và các đối số chuỗi được diễn giải theo trang mã SetAnsiMode hiện tại
Trả về chuỗi tại vị trí ItemIndex trong danh sách chuỗi được định danh bởi StringListID. Danh sách chuỗi do các hàm API khác tạo ra – phổ biến nhất là CheckFileCompliance, vốn trả về một mục cho mỗi vấn đề tuân thủ phát hiện được.
Cú pháp
Delphi
Function DLGetStringListItemA(InstanceID, StringListID, ItemIndex: Integer): PAnsiChar;
DLL
const char * DLGetStringListItemA(int InstanceID, int StringListID, int ItemIndex);
Tham số
| StringListID | ID của danh sách chuỗi do một hàm sản xuất như CheckFileCompliance trả về |
|---|---|
| ItemIndex | Chỉ số mục cần lấy (tính từ 1). Mục đầu là 1; mục cuối là GetStringListCount(StringListID). Chỉ số ngoài khoảng trả về chuỗi rỗng |
Giá trị trả về
Chuỗi tại chỉ số được yêu cầu, hoặc chuỗi rỗng nếu StringListID không hợp lệ hoặc ItemIndex nằm ngoài [1 .. GetStringListCount]
Ghi chú
Với danh sách do CheckFileCompliance sinh ra, định dạng mục là CODE: human-readable description, trong đó CODE là một trong các mã vấn đề năm chữ số được tài liệu hóa trên trang CheckFileCompliance (00002, 00003, 00005, 00006, 00007, 00011, 00012). Cắt phần trước dấu hai chấm để xử lý mã bằng chương trình
Ví dụ
// 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;