名前付き目次でPDFブックマークを追加する
Contents
[
Hide
]
可能な使用シナリオ
名前付き目次はPDFページに依存しないPDF内のブックマークまたはリンクの特別な種類です。つまり、PDFにページが追加または削除されても、ブックマークは無効になる可能性がありますが、名前付き目次はそのままです。名前付き目次を作成するには、PdfBookmarkEntry.DestinationNameプロパティを設定してください。
名前付き目次でPDFブックマークを追加する
次のサンプルコードと、ソースExcelファイル、出力PDFファイルを参照してください。スクリーンショットには、出力PDF内のブックマークや名前付き目次が表示されています。また、名前付き目次の表示方法と、Acrobat ReaderのProfessional版が必要な点についても説明されています。
サンプルコード
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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); |