Читаем Adobe Acrobat PDF файлы из нашего приложения
Adobe Acrobat PDF - хорошо извесный формат,
который нравится многим пользователям. Давайте посмотрим, как можно
заставить приложение на Delphi прочитать файл такого
формата.
Совместимость: Delphi 3.x (или выше)
Итак, Вы
должны быть уверены, что у вас проинсталлирован Acrobat Reader, елси
таковой программы нет, то её можно скачать с
http://www.adobe.com
После этого необходимо проинсталировать
типовую библиотеку для Acrobat (Project -> Import Type Library из
меню Delphi) выберите "Acrobat Control for ActiveX (version x)". Где x -
текущая версия библиотеки. Нажмите кнопку инсталяции.
Теперь
создайте новое приложение, поместите на форму проинсталлированный
компонент TPDF, далее добавите OpenDialog, и в заключении кнопку, при на
нажатии на которую будет вызываться процедура открытия
файла:
procedure TForm1.Button1Click(Sender:
TObject); begin if OpenDialog1.Execute then pdf1.src :=
OpenDialog1.FileName; end;
в юните PdfLib_TLB вы можете найти
интерфейс класса TPdf:
TPdf =
class(TOleControl) private FIntf: _DPdf; function
GetControlInterface: _DPdf; protected procedure
CreateControl; procedure InitControlData;
override; public function LoadFile(const fileName: WideString):
WordBool; procedure setShowToolbar(On_: WordBool); procedure
gotoFirstPage; procedure gotoLastPage; procedure
gotoNextPage; procedure gotoPreviousPage; procedure
setCurrentPage(n: Integer); procedure goForwardStack; procedure
goBackwardStack; procedure setPageMode(const pageMode:
WideString); procedure setLayoutMode(const layoutMode:
WideString); procedure setNamedDest(const namedDest:
WideString); procedure Print; procedure
printWithDialog; procedure setZoom(percent: Single); procedure
setZoomScroll(percent: Single; left: Single; top:
Single); procedure setView(const viewMode:
WideString); procedure setViewScroll(const viewMode: WideString;
offset: Single); procedure setViewRect(left: Single; top: Single;
width: Single; height: Single); procedure printPages(from:
Integer; to_: Integer); procedure printPagesFit(from: Integer; to_:
Integer; shrinkToFit: WordBool); procedure printAll; procedure
printAllFit(shrinkToFit: WordBool); procedure setShowScrollbars(On_:
WordBool); procedure AboutBox; property ControlInterface: _DPdf
read GetControlInterface; property DefaultInterface: _DPdf read
GetControlInterface; published property TabStop; property
Align; property DragCursor; property DragMode; property
ParentShowHint; property PopupMenu; property ShowHint; property
TabOrder; property Visible; property OnDragDrop; property
OnDragOver; property OnEndDrag; property OnEnter; property
OnExit; property OnStartDrag; property src: WideString index 1
read GetWideStringProp write SetWideStringProp stored
False; end;
в заключение можно добавить следующее:
Если
Вы не уверены, что у конечного пользователя Вашей программы установлен
Acrobat Reader, то необходимо, чтобы приложение проверяло эту ситуацию,
прежде чем будут производится различные манипуляции с компонентой TPdf.
И второе, если файл PDF имеет различные связи, например с AVI файлами,
то они не будут работать из Delphi.
Источник: www.articles.org.ru
|