請看看LinkInTableCell的例子。它演示了在單元中添加鏈接的兩種不同方法。
方法#1:添加到(部分)短語的鏈接。
Phrase phrase = new Phrase();
phrase.add("The founders of iText are nominated for a ");
Chunk chunk = new Chunk("European Business Award!");
chunk.setAnchor("http://itextpdf.com/blog/european-business-award-kick-ceremony");
phrase.add(chunk);
table.addCell(phrase);
在這個例子中,我們創建了內容的單元格「的iText的創始人被提名爲歐洲企業獎!」。當你點擊文字「歐洲商業獎!」時,你可以去a blog post。
方法2:將鏈接添加到完整的細胞
在這種方法中,我們的細胞事件添加到單元格:
PdfPCell cell = new PdfPCell(new Phrase("Help us win a European Business Award!"));
cell.setCellEvent(new LinkInCell(
"http://itextpdf.com/blog/help-us-win-european-business-award"));
table.addCell(cell);
細胞事件的實現看起來是這樣的:
class LinkInCell implements PdfPCellEvent {
protected String url;
public LinkInCell(String url) {
this.url = url;
}
public void cellLayout(PdfPCell cell, Rectangle position,
PdfContentByte[] canvases) {
PdfWriter writer = canvases[0].getPdfWriter();
PdfAction action = new PdfAction(url);
PdfAnnotation link = PdfAnnotation.createLink(
writer, position, PdfAnnotation.HIGHLIGHT_INVERT, action);
writer.addAnnotation(link);
}
}
無論您在單擊單元格(不是隻有當你點擊文本),你現在轉發到another blog post。
如果這個答案是有幫助的,你可能想給我的妻子和爲European Business Awards
我你的票你想整個小區被點擊,或在細胞中只是內容? –