本地转向
有时你需要一个允许读者从文档的一个地方跳转到另外一个地方的链接,你可以通过类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上。