Я использую теги Link и Destination в iText 7.0.5 для создания ссылок при создании документа в формате PDF.Когда есть только одна ссылка и пункт назначения, он работает как положено.Но когда я добавляю несколько ссылок и место назначения, это не работает, как ожидалось.Например, есть три ссылки и 3 назначения, и каждая ссылка сопоставлена с различным назначением.Если я нажму на третью ссылку в PDF, она будет перенаправлена на третий пункт назначения, но если я нажму на первую и вторую ссылки, они также перенаправят на третий пункт назначения вместо первого или второго пункта назначения.Ниже приведен пример кода, как я создаю ссылку и места назначения с помощью iText.Пожалуйста, дайте мне знать, в чем может быть проблема здесь.Есть ли другой способ добиться этого.Спасибо.
// Документ PDF будет содержать эти таблицы.Назначение
Table destinationTable1 = new Table(1);
Cell cell = new Cell().add(addHeaderCellWithBorder("First Destination"));
cell.setProperty(Property.DESTINATION, "dest1");
destinationTable1.addCell(cell);
Table destinationTable2 = new Table(1);
Cell cell = new Cell().add(addHeaderCellWithBorder("Second Destination"));
cell.setProperty(Property.DESTINATION, "dest2");
destinationTable2.addCell(cell);
// Создание ссылки в другой таблице
Table linkTable1 = new Table(100);
Cell linkcell1 = new Cell();
Paragraph p1 = new Paragraph();
PdfAction firstLink = PdfAction.createGoTo("dest1");
PdfLinkAnnotation firstLinkAnnot = new PdfLinkAnnotation(new Rectangle(0, 0, 0, 0))
.setHighlightMode(PdfAnnotation.HIGHLIGHT_INVERT).setAction(firstLink)
.setBorderStyle(PdfAnnotation.STYLE_UNDERLINE);
Link link1 = new Link("First Link", firstLinkAnnot);
p1.add(link1.setUnderline()).setFontColor(Color.BLUE).setFontSize(7).setPaddingTop(1).setMultipliedLeading(1);
linkTable1.addCell(linkcell1.add(p1).setBorder(Border.NO_BORDER));
Table linkTable2 = new Table(100);
Cell linkcell2 = new Cell();
Paragraph p2 = new Paragraph();
PdfAction secondLink = PdfAction.createGoTo("dest2");
PdfLinkAnnotation secondLinkAnnot = new PdfLinkAnnotation(new Rectangle(0, 0, 0, 0))
.setHighlightMode(PdfAnnotation.HIGHLIGHT_INVERT).setAction(secondLink)
.setBorderStyle(PdfAnnotation.STYLE_UNDERLINE);
Link link2 = new Link("Second Link", secondLinkAnnot);
p2.add(link2.setUnderline()).setFontColor(Color.BLUE).setFontSize(7).setPaddingTop(1).setMultipliedLeading(1);
linkTable2.addCell(linkcell2.add(p2).setBorder(Border.NO_BORDER));