我正在使用itext 5生成pdf文件,并使用Anchor
创建指向pdf中不同页面的内部链接。链接工作正常,但是,在Adobe PDF Reader中,将鼠标指针放在链接的底部边缘时,“ W”出现在“手动”工具的顶部,单击该链接时,它将在Web浏览器中打开一个新文件,但不会重定向到链接页面。这是示例代码。请建议如何禁用在浏览器中打开内部链接。
import com.itextpdf.text.Anchor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class AnchorExample {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document,
new FileOutputStream("Anchor2.pdf"));
document.open();
Anchor anchor =
new Anchor("Jump down to next paragraph");
anchor.setReference("#linkTarget");
Paragraph paragraph = new Paragraph();
paragraph.add(anchor);
document.add(paragraph);
document.newPage();
Anchor anchorTarget =
new Anchor("This is the target of the link above");
anchorTarget.setName("linkTarget");
Paragraph targetParagraph = new Paragraph();
targetParagraph.setSpacingBefore(50);
targetParagraph.add(anchorTarget);
document.add(targetParagraph);
document.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
使用@Override
public boolean equals(Object object) {
if (object == null || !getClass().isAssignableFrom(object.getClass())) {
return false;
} else {
var other = (Tobra) object;
return Objects.equals(this.cod, other.cod);
}
}
进行内部链接是过去的事情。我看到您使用的是iText的较早版本,因为Anchor
类(直到iText 5才可用)已由Anchor
类(在iText 7中引入)代替。参见overview of the iText 7 building block classes。
即使在iText 5中,也不常用Link
作为本地目的地。最好使用Anchor
代替Chunk
,使用Anchor
方法定义目标,并使用setLocalDestination()
方法定义链接:< / p>
setLocalGoto()
另请参阅几乎重复的问题Add anchor to pdf using itext java。就像您从问题而不是从答案复制代码一样(这确实很奇怪)。