Мой вариант использования - иметь такую кнопку на странице PDF (действительно, чтобы добавить их на существующие страницы, но сейчас я просто хочу, чтобы она работала на чем угодно).
----------
- Back -
----------
И чтоэто просто закрывает текущую страницу PDF.Идея состоит в том, чтобы открыть несколько вкладок, и каждая вкладка представляет собой PDF-файл, а затем, когда вы нажимаете кнопку «Назад», он закрывает текущий PDF-файл, который затем возвращается к предыдущему PDF-файлу.Это то, что я пытался использовать до сих пор.
// Create a new empty document
try {
PDDocument document = new PDDocument();
// Create a new blank page and add it to the document
PDPage blankPage = new PDPage();
document.addPage( blankPage );
PDBorderStyleDictionary borderULine = new PDBorderStyleDictionary();
borderULine.setStyle(PDBorderStyleDictionary.STYLE_UNDERLINE);
PDColor green = new PDColor(new float[] { 0, 1, 0 }, PDDeviceRGB.INSTANCE);
// PDAnnotationTextMarkup txtMark = new PDAnnotationTextMarkup(PDAnnotationTextMarkup.SUB_TYPE_HIGHLIGHT);
// textWidth = (font.getStringWidth("Click Here") / 1000) * 18;
PDAnnotationLink txtLink = new PDAnnotationLink();
txtLink.setBorderStyle(borderULine);
// add an action
// PDActionURI action = new PDActionURI();
// action.setURI("www.google.com");
PDActionJavaScript action = new PDActionJavaScript("this.closeDoc()");
txtLink.setAction(action);
txtLink.setContents("HI");
txtLink.setColor(green);
PDRectangle position = new PDRectangle();
position.setLowerLeftX(10);
position.setLowerLeftY(20);
position.setUpperRightX(100);
position.setUpperRightY(40);
txtLink.setRectangle(position);
txtLink.setInvisible(false);
blankPage.getAnnotations().add(txtLink);
// Save the newly created document
document.save("C:\\Users\\jsmith\\Desktop\\demo\\BlankPage.pdf");
document.close();
} catch (IOException e) {
e.printStackTrace();
}
И, похоже, я ничего не вижу на странице PDF (она только белая), я получил следующий код, по крайней мере, смогперейти на новую страницу вместо JavaScript, но он все еще был невидим.Мне просто удалось навести курсор внизу слева и заметить, что я могу нажать на ссылку.
PDActionURI action = new PDActionURI();
action.setURI("www.google.com");