1
我需要爲現有的pdf添加一個錨點,以便點擊時將用戶返回到頁面的頂部。我試過這個:如何使用itextSharp將「返回頂部」錨點添加到PDF中?
public void Bookmark() {
PdfReader reader = new PdfReader(new RandomAccessFileOrArray(_fileName), null);
DeleteFile(); //delete old pdf (_filename)
_fileName = Setting.Temp + Guid.NewGuid() + ".pdf";
Document doc = new Document(PageSize.A4, 0, 0, 50, 50);
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(_fileName, FileMode.Create));
iTextSharp.text.Font link = FontFactory.GetFont("Arial", 12, BaseColor.BLUE);
doc.Open();
PdfContentByte pdfContentByte = writer.DirectContent;
Anchor topAnchor = null;
PdfImportedPage page = null;
for (int i = 1; i < reader.NumberOfPages; i++) {
if (i == 1) {
topAnchor = new Anchor("");
topAnchor.Name = "TopAnchor";
page = writer.GetImportedPage(reader, i);
doc.NewPage();
pdfContentByte.AddTemplate(page, 0, 0);
doc.Add(topAnchor);
} else {
page = writer.GetImportedPage(reader, i);
doc.NewPage();
pdfContentByte.AddTemplate(page, 0, 0);
Anchor anchor = new Anchor("Back to Top", link);
anchor.Reference = "#TopAnchor";
doc.Add(anchor);
}
}
doc.Close();
}
鏈接被添加到除第一個頁面以外的所有頁面。但是,當我點擊鏈接時,它什麼都不做。
有誰知道如何解決這個或更好的方式來實現我的目標?
這就是我如何寫上面的代碼。 – sinestro
請檢查示例代碼並嘗試執行.. – SUBRA