Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Курс видеоуроков КРЭКЕРСТВО + ПРОГРАММИРОВАНИЕ 2017
(актуальность: май 2017)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Читаем Adobe Acrobat PDF файлы из нашего приложения

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.

Надеюсь этот пример будет Вам полезен.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS