Читаем Adobe Acrobat PDF файлы из нашего приложения.
Автор: Jorge Abel Ayala Marentes
Adobe Acrobat PDF - хорошо извесный формат, который
нравится многим пользователям. Давайте
посмотрим, как можно заставить приложение на Delphi
прочитать файл такого формата.
Совместимость: Delphi 3.x (или выше)
Итак, Вы должны быть уверены, что у вас
проинсталлирован Acrobat Reader, елси таковой
программы нет, то её можно скачать с 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.
Надеюсь этот пример будет Вам полезен.
|