private void buildLinks(
Document document
)
{
Pages pages = document.getPages();
Page page = new Page(document);
pages.add(page);
StandardType1Font font = null;
try
{
font = new StandardType1Font(
document,
StandardType1Font.FamilyEnum.Courier,
true,
false
);
}
catch(Exception e)
{}
PrimitiveComposer composer = new PrimitiveComposer(page);
BlockComposer blockComposer = new BlockComposer(composer);
/*
2.1. Goto-URI link.
*/
{
blockComposer.begin(new Rectangle2D.Double(30,100,200,50),AlignmentXEnum.Left,AlignmentYEnum.Middle);
composer.setFont(font,12);
blockComposer.showText("Goto-URI link");
composer.setFont(font,8);
blockComposer.showText("\nIt allows you to navigate to a network resource.");
composer.setFont(font,5);
blockComposer.showText("\n\nClick on the box to go to the project's SourceForge.net repository.");
blockComposer.end();
try
{
/*
NOTE: This statement instructs the PDF viewer to navigate to the given URI when the link is clicked.
*/
Link link = new Link(
page,
new Rectangle(240,100,100,50),
new GoToURI(
document,
new URI("http://www.sourceforge.net/projects/clown")
)
);
link.setBorder(
new Border(
document,
3,
Border.StyleEnum.Beveled,
null
)
);
}
catch(Exception exception)
{throw new RuntimeException(exception);}
}
/*
2.2. Embedded-goto link.
*/
{
// Get the path of the PDF file to attach!
String filePath = promptPdfFileChoice("Please select a PDF file to attach");
/*
NOTE: These statements instruct PDF Clown to attach a PDF file to the current document.
This is necessary in order to test the embedded-goto functionality,
as you can see in the following link creation (see below).
*/
int fileAttachmentPageIndex = page.getIndex();
String fileAttachmentName = "attachedSamplePDF";
String fileName = new java.io.File(filePath).getName();
FileAttachment attachment = new FileAttachment(
page,
new Rectangle(0, -20, 10, 10),