![]() | | | ![img]() |
|
 | DRKB online - Как работать с PDF файлами? |
|
|
| |
|
Как работать с PDF файлами?
Let's see how to to show an Adobe Acrobat (.PDF) file in a Delphi application. All you need to do is the Acrobat ActiveX control (pdf.ocx and pdf.tlb), which you you can get for free from Adobe.
Here's How:
| delphi | procedure Tfrm_doc_pdf.FormDestroy(Sender: TObject);
var
xHWND: integer;
begin
xHWND := findwindow(nil, 'Acrobat Reader');
sendmessage(xHWND, WM_CLOSE, 0, 0);
end; |
@Drkb::04298
Ok, you must have installed the Acrobat Reader program in your machine, if you donґt have it you can download it from Adobeґs site: www.adobe.comhttp://w...dobe.com
After that you have to install the type library for Acrobat (Project -> Import Type Library from Delphiґs menu) select "Acrobat Control for ActiveX (version x)". Where x stands for the current version of the type library. Click the install button to install it into the IDE.
Now, Start a new Application, drop from whatever page of the component palette you have installed a TPDF component in a form, next add an OpenDialog, and finally a Button, in the Onclick event of the Button use:
| delphi | procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
pdf1.src := OpenDialog1.FileName;
end; |
in PdfLib_TLB Unit you can find the interface of the TPdf class in order to know the behaviour of that class so here it is:
| delphi | 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 gotoPage;
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; |
finally hereґs an advice:
You canґt be sure your users will have Acrobat Reader installed so please fisrt check that situation before you take any actions with the TPdf component. And second if your PDF file have links for an AVI file for example, they donґt work from Delphi.
@Drkb::04299
Взято с Delphi Knowledge Base: http://www.baltsoft.com/ |
|
| | Количество статей: 4366 |
|
|
| |
|
| Статистика |
| | Сегодня | Всего |
| Посетителей | 444 | 10022336 |
| Запросов | 2702 | 449162318 |
| Online |
| Пользователей | 0 |
| Гостей | 11 |
|
|
|