Automate Adobe Acrobat Viewer
Keywords: Adobe Acrobat reader viewer OLE
Note: In order to use the OLE object made available by Acrobat Reader, you must have the full Acrobat product installed on your system. You need the Acrobat Viewer, PDF development too, and Acrobat Exchange to do OLE.You can purchase an Acrobat Reader Integration license for $100.00 that allows you to develop "approved" plugins for the reader. If you have the full version of adobe installed, which is an OLE Server, you can make OLE calls to the Viewer/Reader by default.
The code below works if you have the full version of Adobe installed. Here is an OLE reference page:
Interapplication Communication IACOverview
Sample code:
; okay here are the basic OLE objects for Adobe Acrobat Reader 4.0 ; ; you can do most of the things that word does, but the adobe objects ; properties, methods take alot of parameters, so we'll have to do ; some digging for the various parameter values ; example: ; ; Function PrintPagesSilentEx(nFirstPage As Long, nLastPage As Long, nPSLevel As Long, bBinaryOk As Boolean, bShrinkToFit As Boolean, bReverse As Boolean, bFarEastFontOpt As Boolean, bEmitHalftones As Boolean, iPageOption As Long) As Boolean ; ; Member of Acrobat.CAcroAVDoc ; Prints a specified range of pages without displaying any dialog box. (Supports new print features.) pdf = "C:\Program Files\Adobe\Acrobat 4.0\101.pdf" ;acroexch.app is the external string used by OLE clients to create an application object adobe = objectopen("AcroExch.App") ; create an application object adobedoc = objectopen("AcroExch.Avdoc") ; create an document object adobe.maximize(@true) ; maximize the application window adobe.show() ; make the application object visible or .hide it adobedoc.open(pdf, "") ; open a pdf file, send null string to default to filename for title timedelay(3) adobedoc.close(@false) ; close the document, don't auto-save timedelay(3) adobe.minimize(@true) ; minimize the application window timedelay(3) adobe.exit; exit the application objectclose(adobedoc) ; close the document object objectclose(adobe) ; close the application objecthave fun! Thanks, Jay
Article ID: W14937