Adobe Acrobat PDF - хорошо извесный формат, который нравится многим
пользователям. Давайте посмотрим, как можно заставить приложение на Delphi
прочитать файл такого формата.
Итак, Вы должны быть уверены, что у вас проинсталлирован 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.
Надеюсь этот пример будет Вам полезен.
|