iText 生成pdf内部链接

本文介绍如何使用iText库在PDF文档中创建不同类型的链接,包括内部链接、外部网页链接及指向其他PDF文件的远程链接。通过定义字体样式、设置锚点和目的地等步骤实现交互式阅读体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://www.geek-tutorials.com/java/itext/itext_bookmark_anchor.php

package com.geek.tutorial.itext.bookmarks; import com.lowagie.text.Document; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.Chunk; import com.lowagie.text.Font; import com.lowagie.text.Paragraph; import com.lowagie.text.pdf.PdfOutline; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfAction; import java.io.FileOutputStream; import java.awt.Color; public class Anchor { public Anchor()throws Exception{ Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("anchor.pdf")); document.open(); // Code 1 Font font = new Font(); font.setColor(Color.BLUE); font.setStyle(Font.UNDERLINE); document.add(new Chunk("Chapter 1")); document.add( new Paragraph( new Chunk("Press here to go chapter 2", font) .setLocalGoto("2")));// Code 2 document.newPage(); document.add(new Chunk("Chapter 2") .setLocalDestination("2")); document.add( new Paragraph( new Chunk("http://www.geek-tutorials.com", font) .setAnchor("http://www.geek-tutorials.com")));//Code 3 document.add( new Paragraph( new Chunk("Open outline.pdf chapter 3", font) .setRemoteGoto("outline.pdf", "3")));//Code 4 document.close(); } public static void main(String[] args) { try{ Anchor anchor = new Anchor(); }catch(Exception e){ System.out.println(e); } } }

Code 1
Define a Font instance with BLUE and UNDERLINE styles. Just to make the links in this example look like html hyperlink .

Code 2
You can set a chunk of text to act as a link to direct reader to particular content on the same PDF as they click on the link.

First you set a link to a chunk. Code below instruct the chunk of text to be link to a destination labeled as "2".

document.add(
	new Paragraph(
	new Chunk("Press here to go chapter 2", font)
	.setLocalGoto("2")));
		

Then set a destination.

document.add(new Chunk("Chapter 2").setLocalDestination("2"));
		

When reader click on the "Press here to go chapter 2", PDF reader will jump to the location where destination "2" is set.

Code 3
This code create a external link that display web content in default internet browser.

document.add(
new Paragraph(
new Chunk("http://www.geek-tutorials.com", font)
.setAnchor("http://www.geek-tutorials.com")));//Code 3		
		

Code 4
This code create a remote link to external PDF file that located in the local drive. It will open outline.pdf file and jump to destination "3".

		
document.add(
new Paragraph(
new Chunk("Open outline.pdf chapter 3", font)
.setRemoteGoto("outline.pdf", "3")));//Code 4		
		

  
 
本系列的博客均是在学习过程中的个人的感悟,其中难免存在不足之处,给您的工作或者学习过程中带来的不变还请原谅,同时欢迎指正,
留言提出您的宝贵意见。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值