Search |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Accessing a PDF Document with the Acrobat Viewer JavaBean
Thu, 2005-10-20
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Property | Description | Type |
Default_Page_Layout |
The page layout of the PDF document. Values that may specified
are: SinglePage, OneColumn, TwoColumn (same as
TwoColumnRight), TwoColumnLeft, and TwoColumnRight. |
Static |
Default_Zoom_Type |
The zoom type of the PDF document. Values that may be
specified are: FixedZoom, FitPage, FitVisible, FitWidth,
FitVisibleWidth, FitHeight, and FitVisibleHeight. |
Static |
Default_Magnification |
The percent of magnification, with values in the range of 25-800. | Static |
Max_Magnification |
The maximum magnification, with values in the range of 25-800. | Static |
Page_Units |
Page units may be set to Points, Millimeters, or Inches. |
Dynamic |
Display_Large |
Boolean value. Set to display large images in a PDF document. | Dynamic |
Server_Printers |
String value specifying the relative path to get a list of printers. | Dynamic |
Server_Print |
String value specifying the relative path to print a document. | Dynamic |
To set the page layout to SinglePage, the zoom type
to FitPage, and the magnification to 100 percent, you just make a
series of calls to setProperty():
viewer.setProperty("Default_Page_Layout",
"SinglePage");
viewer.setProperty("Default_Zoom_Type",
"FitPage");
viewer.setProperty("Default_Magnification",
"100");
The number of pages in the PDF document and the current page are
obtained with the getPageCount() and
getCurrentPage() methods. As an example, print out the
number of pages in the example document and the current page
displayed.
System.out.println("Page Count: "+viewer.getPageCount());
System.out.println("Current Page: "+viewer.getCurrentPage());
Page 0 corresponds to the first page in the document.
You can set the zoom level of the current page with the
zoomTo() method. Set the zoom magnification to 100 percent by
specifying 1.0 as a double in the zoomTo() method.
viewer.zoomTo(1.0);
Create the layout of the viewer components and activate the viewer as follows:
viewer.activate();
Next, set the frame size in which the viewer is to be added, and display the frame.
frame.setSize(400, 500);
frame.pack();
frame.show();
You'll find the example application PDFViewer.java in the Resources section. Run the Java application in a command-line window. The number of pages for the example PDF document is 3 and the current page is 0, the index of the first page of the PDF document. The example PDF document gets displayed in the Acrobat Viewer. As the zoom level is set to 1.0 in the Java application, the PDF document is displayed with 1.0 magnification. Figure 1 illustrates the PDF document in Acrobat Viewer.

Figure 1. PDF Document in Acrobat Viewer
The Acrobat Viewer provides some viewer commands to edit the
document and to modify the view characteristics of the document.
The viewer commands are specified in the ViewerCommand
interface, which is implemented by the Viewer class.
To run a viewer command, invoke the
execMenuItem(java.lang.String viewerCommand) method of
the Viewer class. For example, to run the
ZoomTo_K command:
Viewer viewer=new Viewer();
viewer.execMenuItem(ViewerCommand.ZoomTo_K);
Some of the commonly used viewer commands are listed in the following table:
| Viewer Command | Description |
FitPage_K |
Displays document to fit page. |
FitHeight_K |
Displays document to fit height. |
FitWidth_K |
Displays document to fit width. |
OpenURL_K |
Displays the URL selection dialog. |
Open_K |
Displays the file selection dialog. |
PageOnly_K |
Displays the page without the bookmarks. |
Print_K |
Displays the Print Document dialog. |
PrintSetup_K |
Displays the Print Document dialog. |
ShowBookmarks_K |
Displays the bookmarks. |
TwoColumn_K |
Displays the document in two-column mode. |
ZoomTo_K |
Displays the Zoom To dialog. |
The Acrobat Viewer may be displayed with some of the toolbar buttons removed. For example, you can remove the Open and Open URL buttons in the Acrobat Viewer with:
String[] dis = {ViewerCommand.Open_K, ViewerCommand.OpenURL_K};
Viewer viewer = new Viewer(dis);
The Acrobat Viewer has a toolbar to navigate through the PDF document with Next Page, Last Page, Previous Page, and First Page buttons. A PDF document may be zoomed in or zoomed out with the Zoom In or Zoom Out buttons. The Open and Open URL buttons allow you to open a different PDF document, which replaces the document currently displayed the Java AWT Component.
The Acrobat Viewer GUI functionality may also be accessed with
the com.adobe.acrobat package API from a Java
application. The different viewer commands are invoked with the
execMenuItem(java.lang.String viewerCommand) method of
the Viewer class. The viewer commands corresponding to
some of the Acrobat Viewer buttons are listed in the following
table.
| Acrobat Viewer Button | Viewer Command |
| Next Page | ViewerCommand.NextPage_K |
| Last Page | ViewerCommand.LastPage_K |
| Previous Page | ViewerCommand.PrevPage_K |
| First Page | ViewerCommand.FirstPage_K |
| Zoom In, Zoom Out | ViewerCommand.ZoomTo_K |
| Open | ViewerCommand.Open_K |
| Find | ViewerCommand.Find_K |
In the Viewer Component, you access the File, Edit, View, Tools, and Help menus by right-clicking in the document. This displays the pop-up menu seen in Figure 2.

Figure 2. PDF document menu
The File and Edit menu items may also be invoked with a viewer command in a Java application. Some of the viewer commands corresponding to the File and Edit menu items are listed in the following table.
| Acrobat Viewer Menu Item | Viewer Command |
| Close | ViewerCommand.Close_K |
| Copy | ViewerCommand.EditCopy_K |
| Select All | ViewerCommand.EditSelectAll_K |
To display the PDF document at its actual size, select the
Actual Size button, as illustrated in Figure 3. The Actual Size
button may also be invoked with the viewer command
ViewerCommand.ActualSize_K.

Figure 3. Displaying document at actual size
To fit the PDF document in the AWT Component's
display space, select Fit Page, as illustrated in Figure 4. The Fit
Page button may also be invoked with the viewer command
ViewerCommand.FitPage_K.

Figure 4. Displaying document to fit page
To fit the PDF document to the width of the component, select
the Fit Width button, as illustrated in Figure 5. The Fit Width
button may also be invoked with the viewer command
ViewerCommand.FitWidth_K.

Figure 5. Displaying document to fit page width
To open another PDF document, select the Open URL button, as shown
in Figure 6. The Open URL button may also be invoked with the
viewer command ViewerCommand.OpenURL_K.

Figure 6. Opening a document from a URL
In the Open URL frame, specify the URL of the PDF document, as
illustrated in Figure 7. The input field for the Open URL frame
does not accept a ftp-style URL with an escape
sequence, such as ftp://host/my%20file.pdf. On the other
hand, escapes are OK in http-style URLs.

Figure 7. Open URL
A PDF document page may be bookmarked in the Acrobat Viewer. The Acrobat Viewer bookmark frame displays the bookmarks to a PDF document with links to the different document pages. To bookmark a page, select the Bookmark button, as illustrated in Figure 8.

Figure 8. Bookmarking a document
This adds a bookmark to the Acrobat Viewer, as shown in Figure 9.
You can obtain the root bookmark in the Acrobat Viewer frame from a
Java application with the getRootBookmark() method of
the Viewer class. The PDFBookmark class
represents a bookmark in a PDF document.
Viewer viewer;
PDFBookmark rootBookmark=viewer.getRootBookmark();
Obtain the different bookmarks in a PDF document that is displayed
in the Acrobat Viewer with the getBookmarks() method.
java.util.Vector pdfBookmarks=rootBookmark.getBookmarks();
The title of a bookmark can be obtained with the
getTitle() method.
PDFBookmark bookmark;
java.lang.String title=bookmark.getTitle();

Figure 9. PDF document with a bookmark
In the Acrobat Viewer, text may be highlighted with the Select Text button. Select the Select Text button and select the text to be highlighted, as illustrated in Figure 10.

Figure 10. Selecting text
A Java application may need to display PDF documents. The Adobe Acrobat Viewer for JavaBean API makes it feasible to display a PDF document from a Java application.
|
|