import java.io.File;
import java.io.IOException;
import com.gnostice.pdfone.PDFOne;
import com.gnostice.pdfone.PdfAction;
import com.gnostice.pdfone.PdfBookmark;
import com.gnostice.pdfone.PdfDocument;
import com.gnostice.pdfone.PdfException;
import com.gnostice.pdfone.PdfMeasurement;
import com.gnostice.pdfone.PdfPage;
import com.gnostice.pdfone.PdfPageMode;
import com.gnostice.pdfone.PdfRect;
import com.gnostice.pdfone.PdfWriter;
public class PdfBookmark_Examples
{
// Activates the component PDFOne.jar
static
{
PDFOne.activate("T95VZE:W8HBPVA:74VQ8QV:LO4V8",
"9B1HRZAP:X5853ERNE:5EREMEGRQ:TX1R10");
}
public static void main(String[] args) throws IOException,
PdfException
{
PdfBookmark_Examples obj = new PdfBookmark_Examples();
// To try other examples, add the obj.<example_method>
// accordingly. For example, try:
// obj.addNext_int_String_Example();
obj.addNext_String_int_double_int_Example();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
// This code segment requires pathnames of an application and
// and an ordinary file.
// To use pathnames supplied as command-line arguments, use
// a statement in main() similar to:
// obj.addPrevious_String_String_boolean_Example(args[0], args[1]);
public void addPrevious_String_String_boolean_Example(String appPathname, String filePathname)
throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfBookmark_addPrevious_String_"
+ "String_boolean_example.pdf");
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark immediately after the above bookmark.
// When selected, this new bookmark launches the specified
// application.
bm = bm.addPrevious("Launch \"" + appPathname + "\"",
appPathname,
false);
// Adds a new bookmark immediately after the above bookmark.
// When selected, this new bookmark prints the specified
// file.
bm.addPrevious("Print \"" + filePathname + "\"",
filePathname,
true);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_String_int_PdfRect_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfBookmark_addPrevious_String_"
+ "int_PdfRect_example.pdf");
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a rectangle
PdfRect rectangle = new PdfRect(100, 150, 200, 250);
// Draws the rectangle on page 1
document.drawRect(rectangle, "1");
// Adds a new bookmark immediately before the above bookmark.
// When selected, it leads to the above rectangle on page 1.
bm.addPrevious("Link to rectangle on Page 1",
1,
rectangle);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_String_int_int_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfBookmark_addPrevious_String_"
+ "int_int_example.pdf");
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark immediately before the first bookmark.
// When selected, this new bookmark leads to page 15. Page 15
// is displayed with entire height and width of its bounding
// box tightly fit inside the window.
bm.addPrevious("Link to Page 15 with FITB",
15,
PdfBookmark.FITB);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_String_int_double_int_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addPrevious_String_"
+ "int_double_int_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a new bookmark immediately before the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit its entire
// width inside the window. The top right corner of the
// window will be positioned at 100 points down the top
// edge of the page.
bm = bm.addPrevious("Link to page 14 with FITH top 100",
14,
100,
PdfBookmark.FITH);
// Creates a new bookmark immediately before the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit its
// entire width of its bounding box inside the window. The
// top right corner of the window will be positioned at 100
// points down the top edge of the page.
bm = bm.addPrevious("Link to page 14 with FITBH top 100",
14,
100,
PdfBookmark.FITBH);
// Creates a new bookmark immediately before the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit entire
// height of its bounding box inside the window. The left
// edge of the window will be positioned 100 points off the
// left edge of the page.
bm = bm.addPrevious("Link to page 14 with FITBV left 100",
14,
100,
PdfBookmark.FITBV);
// Creates a new bookmark immediately before the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit entire
// height of the page inside the window. The left edge of the
// window will be positioned 100 points off the left edge of
// the page.
bm.addPrevious("Link to page 14 with FITV left 100",
14,
100,
PdfBookmark.FITV);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_String_int_double_double_double_double_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addPrevious_"
+ "String_int_double_double_"
+ "double_double_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark immediately before the above bookmark.
// When selected, this new bookmark leads to a rectangular
// area on page 13.
bm.addPrevious(
"Jump to rectangular area on page 13",
13, // pageNo
100, 100, 400, 400); // left, bottom, right, top
// Identifies the rectangular area on page 13
document.drawRect(100, 100, 400, 400, "13");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_String_int_double_double_double_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addPrevious_String_int_"
+ "double_double_double_"
+ "example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a bookmark immediately before the above bookmark.
// When selected, this new bookmark leads to
// position (100, 200) on page 12 with the page zoom set
// at 125%.
bm.addPrevious(
"Jump to position (100, 200) on page 12 with zoom 125%",
12, // pageNo
100, 200, // left, top
125); // zoom
// Identifies position (100, 200) on page 12
document.writeText(". (100, 200)", 100, 200, "12");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_String_int_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_"
+ "addPrevious_String_int_"
+ "example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark immediately before the above first
// bookmark. When selected, this new bookmark leads to
// page 15.
bm.addPrevious("Link to page 15", 15);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addPrevious() method.
public void addPrevious_int_String_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addPrevious_int_"
+ "String_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a bookmark immediately before the first bookmark. When
// selected, it performs the named action.
bm.addPrevious(PdfAction.NAMED_NEXTPAGE,
"Move to the next page");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
// This code segment requires pathnames of an application and
// and an ordinary file.
// To use pathnames supplied as command-line arguments, use
// a statement in main() similar to:
// obj.addNext_String_String_boolean_Example(args[0], args[1]);
public void addNext_String_String_boolean_Example(String appPathname, String filePathname)
throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfBookmark_addNext_String_"
+ "String_boolean_example.pdf");
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark immediately after the above bookmark.
// When selected, this new bookmark launches the specified
// application.
bm = bm.addNext("Launch \"" + appPathname + "\"",
appPathname,
false);
// Adds a new bookmark immediately after the above bookmark.
// When selected, this new bookmark prints the specified
// file.
bm.addNext("Print \"" + filePathname + "\"",
filePathname,
true);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_String_int_PdfRect_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfBookmark_addNext_String_"
+ "int_PdfRect_example.pdf");
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a rectangle
PdfRect rectangle = new PdfRect(100, 150, 200, 250);
// Draws the rectangle on page 1
document.drawRect(rectangle, "1");
// Adds a new bookmark immediately after the above bookmark.
// When selected, it leads to the above rectangle on page 1.
bm.addNext("Link to rectangle on Page 1",
1,
rectangle);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_String_int_int_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
"PdfBookmark_addNext_String_"
+ "int_int_example.pdf");
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark immediately after the first bookmark.
// When selected, this new bookmark leads to page 14. Page 14
// is displayed with entire height and width of its bounding
// box tightly fit inside the window.
bm.addNext("Link to Page 14 with FITB",
14,
PdfBookmark.FITB);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_String_int_double_int_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addNext_String_"
+ "int_double_int_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a new bookmark immediately after the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit its entire
// width inside the window. The top right corner of the
// window will be positioned at 100 points down the top
// edge of the page.
bm = bm.addNext("Link to page 14 with FITH top 100",
14,
100,
PdfBookmark.FITH);
// Creates a new bookmark immediately after the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit its
// entire width of its bounding box inside the window. The
// top right corner of the window will be positioned at 100
// points down the top edge of the page.
bm = bm.addNext("Link to page 14 with FITBH top 100",
14,
100,
PdfBookmark.FITBH);
// Creates a new bookmark immediately after the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit entire
// height of its bounding box inside the window. The left
// edge of the window will be positioned 100 points off the
// left edge of the page.
bm = bm.addNext("Link to page 14 with FITBV left 100",
14,
100,
PdfBookmark.FITBV);
// Creates a new bookmark immediately after the above
// bookmark. When selected, this new bookmark will lead to
// page 14. The page will be zoomed to tightly fit entire
// height of the page inside the window. The left edge of the
// window will be positioned 100 points off the left edge of
// the page.
bm.addNext("Link to page 14 with FITV left 100",
14,
100,
PdfBookmark.FITV);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_String_int_double_double_double_double_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addNext_String_"
+ "int_double_double_double_"
+ "double_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a new bookmark immediately after the above
// bookmark. When selected, this new bookmark leads to a
// rectangular area on page 13.
bm.addNext(
"Jump to rectangular area on page 13",
13, // pageNo
100, 100, 400, 400); // left, bottom, right, top
// Identifies the rectangular area on page 13
document.drawRect(100, 100, 400, 400, "13");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_String_int_double_double_double_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addNext_String_int_"
+ "double_double_double_"
+ "example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark that leads to position (100, 200) on
// page 12 with page zoom set at 125%
bm.addNext(
"Jump to position (100, 200) on page 12 with zoom 125%",
12, // pageNo
100, 200, // left, top
125); // zoom
// Identifies position (100, 200) on page 12
document.writeText(". (100, 200)", 100, 200, "12");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_String_int_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_"
+ "addNext_String_int_"
+ "example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds sample pages and bookmarks to the document
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a new bookmark after the above bookmark. When
// selected, it leads to page 15.
bm.addNext("Jump to page 15", 15);
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment demonstrates the use of an overloaded
// addNext() method.
public void addNext_int_String_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addNext_int_"
+ "String_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a new bookmark immediately after the above
// bookmark. A named action is added to this new bookmark.
bm.addNext(PdfAction.NAMED_LASTPAGE,
"Jump to last page");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment creates a bookmark and adds a URI
// action to it.
public void addActionURI_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addActionURI_"
+ "example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a URI action to the first bookmark. Here, the action
// can make the viewer to resolve the URI of the Gnostice
// home page.
bm.addActionURI("http://www.gnostice.com/");
bm.setTitle("Go to page 1 and display Gnostice home "
+ "page in a browser");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a remote go-to action to a bookmark.
public void addActionRemoteGoTo_Example() throws IOException,
PdfException
{
// Creates a sample PDF file with 20 pages
CreateSamplePDF("test.pdf", 20);
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addActionRemote"
+ "GoTo_example.pdf"));
PdfDocument document = new PdfDocument(writer);
PdfPage page;
Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a remote go-to action to the first bookmark. Here,
// the action can make the viewer to open page 8 of the
// sample PDF file created above in a new window.
bm.addActionRemoteGoTo("test.pdf",
PdfBookmark.getRemoteGoToInstance(8),
true);
bm.setTitle("Open page 8 of test.pdf in a new window");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a named action to a few bookmarks.
public void addActionNamed_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File("pdfbookmark_addAction"
+ "Named_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getFirstBookmark();
// Adds named actions to the bookmarks
bm.addActionNamed(PdfAction.NAMED_LASTPAGE);
bm.setTitle("Go to last page");
bm = bm.getNext();
bm.addActionNamed(PdfAction.NAMED_FIRSTPAGE);
bm.setTitle("Go to first page");
bm = bm.getNext();
bm.addActionNamed(PdfAction.NAMED_NEXTPAGE);
bm.setTitle("Go to next page");
bm = bm.getNext();
bm.addActionNamed(PdfAction.NAMED_PREVPAGE);
bm.setTitle("Go to previous page");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a launch action to a bookmark.
public void addActionLaunch_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File("pdfbookmark_addActionLaunch_example.pdf")
);
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a launch action to the first bookmark
bm.addActionLaunch("Document.txt", false);
bm.setTitle("Launch file");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a Javascript action to a bookmark.
public void addActionJavaScript_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File("pdfbookmark_addactionJavaScript_example.pdf")
);
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a Javascript action to this bookmark
bm.addActionJavaScript("app.alert(\"Hello, world!\")");
bm.setTitle("Get a \"hello world\" message");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a go-to action to a bookmark using an
// overloaded addAction() method.
public void addActionGoTo_int_PdfRect_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addactiongoto_"
+ "int_PdfRect_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Creates a rectangle
PdfRect rectangle = new PdfRect(100, 150, 200, 250);
// Adds a go-to action to this bookmark. The action can
// change the current view of the document to the area
// occupied by the above rectangle on page 10.
bm.addActionGoto(10, rectangle);
bm.setTitle(
"Jump to rectangle (100, 150, 200, 250) on page 10");
document.drawRect(rectangle, "10");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a go-to action to a bookmark using an
// overloaded addAction() method.
public void addActionGoTo_int_int_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addactiongoto_"
+ "int_int_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a go-to action to this bookmark. The action can
// change the current view of the document to display entire
// width and height of page 10's bounding box tightly fit
// inside the window.
bm.addActionGoto(10,PdfBookmark.FITB);
bm.setTitle("Jump to page 10, FITB");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a go-to action to a bookmark using an
// overloaded addAction() method.
public void addActionGoTo_int_double_int_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addactiongoto_"
+ "int_double_int_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage(600, 300);
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a go-to action to the bookmark. The action can change
// the current view to page 10, which will be zoomed to
// tightly fit its entire width inside the window. The top
// edge of the window will be positioned 100 points down the
// top edge of the page.
bm.addActionGoto(10, 100, PdfBookmark.FITH);
bm.setTitle("Jump to page 10 with FITH top 100");
// Creates a reference to the bookmark next to the current
bm = bm.getNext();
// Adds a go-to action to the bookmark. The action can change
// the current view to page 10, which will be zoomed to
// tightly fit the entire width of its bounding box inside
// the window. The top edge of the window will be positioned
// 100 points down the top edge of the page.
bm.addActionGoto(10, 100, PdfBookmark.FITBH);
bm.setTitle("Jump to page 10 with FITBH top 100");
bm = bm.getNext();
// Adds a go-to action to the bookmark. The action can change
// the current view to page 10, which will be zoomed to
// tightly fit the entire height of its bounding box inside
// the window. The left edge of the window will be positioned
// 100 points off the left edge of the page.
bm.addActionGoto(10, 100, PdfBookmark.FITBV);
bm.setTitle("Jump to page 10 with FITBV left 100");
bm = bm.getNext();
// Adds a go-to action to the bookmark. The action change
// the current view to page 10, which will be zoomed to
// tightly fit its entire height inside the window. The left
// edge of the window will be positioned 100 points off the
// left edge of the page.
bm.addActionGoto(10, 100, PdfBookmark.FITV);
bm.setTitle("Jump to page 10 with FITV left 100");
// Identifies the position (100, 100) on page 10
document.writeText(".(100, 100)", 100, 100, "10");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a go-to action to a bookmark using an
// overloaded addAction() method.
public void addActionGoTo_int_double_double_double_double_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File("pdfbookmark_addactiongoto_"
+ "int_double_double_double_"
+ "double_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.writeText("This is page number " + i);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
document.drawRect(100, 100, 300, 250, "1");
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a go-to action to the first bookmark. The action can
// change the current view to a rectangular area on page 1.
// The top-left corner of the rectangular area is at
// (100, 100). The rectangular area is 300 points wide and
// 250 points long.
bm.addActionGoto(1, 100, 100, 300, 250);
bm.setTitle("Go to rectangular area on page 1");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a go-to action to a bookmark using an
// overloaded addAction() method.
public void addActionGoTo_int_double_double_double_Example()
throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addactiongoto_"
+ "int_double_double_double_"
+ "example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a go-to action to the first bookmark. The action can
// change the current view of the document to position
// (200, 100) on page 10 with page zoom set at 215%.
bm.addActionGoto(10, 200, 100, 215);
bm.setTitle("Jump to page 10 position (200, 100) zoom 215%");
// Identifies the position (200, 100)
document.writeText(". (200, 100)", 200, 100, "10");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment adds a go-to action to a bookmark using an
// overloaded addAction() method.
public void addActionGoTo_int_Example() throws IOException,
PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(
"pdfbookmark_addactiongoto_"
+ "int_example.pdf"));
PdfDocument document = new PdfDocument(writer);
document.setPageMode(PdfPageMode.USEOUTLINES);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= 20; i++)
{
page = new PdfPage();
page.setMeasurementUnit(PdfMeasurement.MU_INCHES);
page.writeText("This is page number " + i, 2, 2);
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
// Creates a reference to the first bookmark
PdfBookmark bm = document.getBookmarkRoot().getFirstChild();
// Adds a go-to action to this bookmark. The action can
// changes the current view to page 10.
bm.addActionGoto(10);
bm.setTitle("Jump to page 10");
document.setOpenAfterSave(true);
document.write();
writer.dispose();
}
// This code segment creates a sample PDF file.
public void CreateSamplePDF(String sampleFilePathname,
int noOfPages) throws IOException, PdfException
{
PdfWriter writer = PdfWriter.fileWriter(
new File(sampleFilePathname));
PdfDocument document = new PdfDocument(writer);
PdfPage page;
// Adds pages and bookmarks to the PdfDocument object
// created above
for (int i = 1; i <= noOfPages; i++)
{
page = new PdfPage();
page.writeText("This is page number "
+ i
+ " of \""
+ sampleFilePathname
+ "\"");
document.add(page);
document.addBookmark("Page " + (i),
document.getBookmarkRoot(),
i);
}
document.setOpenAfterSave(false);
document.write();
writer.dispose();
}
}