четверг, 14 июня 2012 г.

Описание API вызова библиотеки GetPagesPdfTiff.DLL

Библиотека 'GetPagesPdfTiff.DLL' (далее DLL) предназначена для получения количества страниц из многостраничных TIFF и PDF документов. DLL предоставляет универсальный доступ для других приложений вне зависимости от языка в среде Win OS.



Для использования DLL в своих проектах соблюдайте соглашение об stdcall-вызовах. Тип соглашения о вызове объявляется после прототипа функции, будь то объявление функционального типа или же объявление функции.

Системные требования:
  1. WinOS
  2. gdiplus.dll в каталоге с библиотекой или в системном каталоге Win OS.
Таблица расшифровок параметров экспортируемых функций 'getpages()' библиотеки:


Пример динамического подключения (Delphi 6/7/2006/2009/2010/TDL/XE5-7):
var
  getpages: function(path: pansichar): UINT; stdcall;
  LibHandle: THandle;


function LinkProc(h: thandle; ProcName: string):Pointer;
begin
 result:= GetProcAddress(h, PChar(ProcName))
end;

{ инициализация }
begin
 // подключаем DLL
 LibHandle:= LoadLibrary('GetPagesPdfTiff.dll');
 if LibHandle <> 0 then
  getpages:= LinkProc(LibHandle, 'getpages');
...

{ пример вызова через OLE }
 getpages('1.pdf' {'1.tif'} {'1.Tiff'} {'1.tiF'} {'1.PDF'})
 ...
Пример вызова (под С++):
HMODULE LibHandle;
typedef int _cdecl(*dll_fucntion)(char *);
dll_fucntion MyDllFunction = NULL;

try
{
LibHandle = LoadLibrary("GetPagesPdfTiff.dll");
if (!LibHandle)
{
   ShowMessage("Файл GetPagesPdfTiff не найден!");
}
MyDllFunction = (dll_fucntion)GetProcAddress(LibHandle,"getpages");
str = MyDllFunction(file.c_str());
MyDllFunction = NULL;
}
catch (...)
{
}

}
  FreeLibrary(LibHandle);
}
Пример вызова (под VBS):
' подключаем голосовое сопровождение
Dim Speak
Set Speak = CreateObject("sapi.spvoice")
' регистрируем COM объект DynamicWrapperX в тихом режиме
Dim WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run ("regsvr32.exe dynwrapx.dll /s"),3, true
' создаем объект DynamicWrapperX
Set Wrap = CreateObject("DynamicWrapperX.2")
Wrap.Register "GetPagesPdfTiff.dll", "getpages", "i=s", "r=u"

Dim res
res = Wrap.getpages("1.pdf")
Speak.Speak "Найдено "&res&" страниц в документе."
ПОРЯДОК ИСПОЛЬЗОВАНИЯ
  1. Библиотека работает с однослойными TIFF.
  2. Распознавание формата PDF/TIFF идет по расширению файла (допустим любой регистр букв и tif/tiff).


Комментариев нет:

Отправить комментарий

В комментариях уважайте собеседника, внимательно читайте посты и не додумывайте. Просьбы и предложения из разряда: «можно ваш Skype/Viber/телефон», «напишите мне в vk/FB», а также другие им подобные — игнорируются. Выход новых версий ПО, внешняя ссылка, переставшая работать с течением времени и т.п. не является основанием для претензий. Желающие спокойно подискутировать и высказаться — Welcome. Желающие спонсировать блог — Donate. Нарушение этих простых правил ведет к бану и удалению комментариев без предупреждения.