所有
早上好。
我试图使用iText从PDF文档的一部分创建链接到其他部分。 我使用的iText版本是2.1.7
我尝试使用Anchors和Chunks,但都没有工作。基本上,链接根本不会变为可点击。
以下是具有Anchor和Chunk的目标代码:
Anchor anchor = new Anchor("Reach here");
anchor.setName("DestinationID");
pdfDocument.add(anchor);
Chunk chunk = new Chunk("Reach here");
chunk.setLocalDestination("DestinationID");
pdfDocument.add(chunk);
以下是Anchor和Chunk的链接代码:
Anchor anchor = new Anchor("Click Here", PDFConstants.HELVETICA_8_BOLD_UNDERLINE);
anchor.setReference("#DestinationID");
cell.add(anchor);
Chunk chunk = new Chunk("Click Here", PDFConstants.HELVETICA_8_BOLD_UNDERLINE);
chunk.setLocalGoto("DestinationID");
cell.add(chunk);
//单元格稍后会添加到表格
感谢有人能指出我做错了什么。
谢谢你, 拉加答案 0 :(得分:1)
您必须考虑Bruno Lowagie的评论并升级您的版本,因为iText 2.1.7是旧版本,不会抱怨新的PDFReference规范。 不管怎么说,我的代码片段中没有出现任何问题,可能是你的代码中没有出现问题。我用Chunk做了一个简单的测试2.1.7版本,如果你想检查是否有什么可以帮到你的话,我给你我的样本:
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.lowagie.text.Cell;
import com.lowagie.text.Chunk;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.PdfWriter;
public class PDFChunkTest {
public static void main(String[] args) throws FileNotFoundException, IOException, DocumentException {
Document doc = new Document();
PdfWriter writer = PdfWriter.getInstance(doc,new FileOutputStream("C:/temp/pdf.pdf"));
doc.open();
Chunk chunk = new Chunk("click here", FontFactory.getFont(FontFactory.HELVETICA, 8, Font.BOLD, new Color(0, 0, 255)));
chunk.setLocalGoto("test");
Table tab = new Table(1, 2);
Cell cell = new Cell();
cell.add(chunk);
tab.addCell(cell);
doc.add(tab);
Paragraph p2 = new Paragraph("Lorem ipsum dolor sit amet...");
doc.add(p2);
doc.add(p2);
doc.add(p2);
doc.add(p2);
doc.add(p2);
doc.add(p2);
Chunk chunk2 = new Chunk("local destination", FontFactory.getFont(FontFactory.HELVETICA, 8, Font.BOLD, new Color(0, 0, 0)));
chunk2.setLocalDestination("test");
doc.add(chunk2);
doc.close();
}
}