iText生成pdf详解

本文介绍如何在iText中使用本地和远程链接进行文档内的跳转及跨文档导航,包括设置本地和远程目标、跳转到指定页面、启动应用程序等高级功能。

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



最后,示例代码1011和示例代码1012展示了PdfTable可以和templates 和 columns一起使用,在示例代码1012中将用到cover.png图片如下:


颜色(SpotColors)和图案(Patterns)
颜色(spotcolors)的使用见示例代码1013,示例代码1014和示例代码1015演示了图案(patterns)的使用方法。

第十一章 本地和异地转向、目标和概要
本地转向
有时你需要一个允许读者从文档的一个地方跳转到另外一个地方的链接,你可以通过类Chunk的setLocalGoto 和setLocalDestination两个方法实现,例:

Chunk localgoto = new Chunk("this word", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL, new Color(0, 0, 255))).setLocalGoto("test");

Chunk destination = new Chunk("local destination", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL, new Color(0, 255, 0))).setLocalDestination("test");

见示例代码1101。

异地转向
在第3章中,我们演示了一个锚点如何转向到其他URL,一个锚点通过不同的字体、风格和颜色,可以包含不同的Chunks,在iText的高级应用中,下面定义链接到URL的其他方法:

Chunk chunk = new Chunk("anchor", FontFactory.getFont(FontFactory.HELVETICA, 12)).setAnchor(new URL("http://www.lowagie.com/iText/"));

u 转到PDF文档中的指定位置

如果你在文档中指定了一个目的地,你可以从另外一个文档跳转到这里,为实现该功能,你可以使用方法:

setRemoteGoto: Chunk chunk = new Chunk("jump", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.ITALIC)).setRemoteGoto("test.pdf", "test"));

test.pdf是另外一个pdf文件,”test”是该文件的一个目的地。

跳转到另一个PDF文件指定页

使用方法setRemoteGoto,用页码参数代替名称参数,可以非常容易地跳转定另外一个文档的指定页:

chunk = new Chunk("jump", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.ITALIC)).setRemoteGoto("test.pdf", 3));

见示例代码1102

u 启动一个应用程序

可以使用下面的方法启动一个应用程序:

public PdfAction(String application, String parameters, String operation, String defaultDir)

如果application为“c:/winnt/notepad.exe”(其余参数可以为null),你可以通过PDF文件中的链接来启动记事本程序。

u 文件和URL

如果你想跳转到其他文档或URL,你需要通过下面的构造函数之一创建一个:

PdfAction(String filename, String name);

PdfAction(String filename, int page);

PdfAction(URL url);

PdfAction(String url);

前面两个构造函数允许你跳转到文件的指定位置或页码,后两个构造函数允许你跳转到其他URL上。

其余部分略。

第十二章 页面和表格事件
略。

转载于:https://www.cnblogs.com/dengjiali/articles/2545134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值