Добавление закладок PDF с именованными местами назначения
Возможные сценарии использования
Именованные места назначения - это особые виды закладок или ссылок в PDF, которые не зависят от страниц PDF. Это означает, что если страницы добавляются или удаляются из PDF, закладки могут стать недействительными, но именованные места назначения останутся неизменными. Чтобы создать именованное место назначения, пожалуйста, установите свойство PdfBookmarkEntry.DestinationName.
Добавление закладок PDF с именованными местами назначения
Пожалуйста, ознакомьтесь с следующим образцовым кодом, его исходным файлом Excel, и выходным файлом PDF. На скриншоте показаны закладки и именованные места назначения внутри выходного PDF. Скриншот также описывает, как просматривать именованные места назначения и что вам потребуется профессиональная версия Acrobat Reader.
Образец кода
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//Load source Excel file | |
Workbook wb = new Workbook(srcDir + "samplePdfBookmarkEntry_DestinationName.xlsx"); | |
//Access first worksheet | |
Worksheet ws = wb.getWorksheets().get(0); | |
//Access cell C5 | |
Cell cell = ws.getCells().get("C5"); | |
//Create Bookmark and Destination for this cell | |
PdfBookmarkEntry bookmarkEntry = new PdfBookmarkEntry(); | |
bookmarkEntry.setText("Text"); | |
bookmarkEntry.setDestination(cell); | |
bookmarkEntry.setDestinationName("AsposeCells--" + cell.getName()); | |
//Access cell G56 | |
cell = ws.getCells().get("G56"); | |
//Create Sub-Bookmark and Destination for this cell | |
PdfBookmarkEntry subbookmarkEntry1 = new PdfBookmarkEntry(); | |
subbookmarkEntry1.setText("Text1"); | |
subbookmarkEntry1.setDestination(cell); | |
subbookmarkEntry1.setDestinationName("AsposeCells--" + cell.getName()); | |
//Access cell L4 | |
cell = ws.getCells().get("L4"); | |
//Create Sub-Bookmark and Destination for this cell | |
PdfBookmarkEntry subbookmarkEntry2 = new PdfBookmarkEntry(); | |
subbookmarkEntry2.setText("Text2"); | |
subbookmarkEntry2.setDestination(cell); | |
subbookmarkEntry2.setDestinationName("AsposeCells--" + cell.getName()); | |
//Add Sub-Bookmarks in list | |
ArrayList list = new ArrayList(); | |
list.add(subbookmarkEntry1); | |
list.add(subbookmarkEntry2); | |
//Assign Sub-Bookmarks list to Bookmark Sub-Entry | |
bookmarkEntry.setSubEntry(list); | |
//Create PdfSaveOptions and assign Bookmark to it | |
PdfSaveOptions opts = new PdfSaveOptions(); | |
opts.setBookmark(bookmarkEntry); | |
//Save the workbook in Pdf format with given pdf save options | |
wb.save(outDir + "outputPdfBookmarkEntry_DestinationName.pdf", opts); |