2014-02-20 2 views
1

Я знаю, как цель любой текст любой страницы PDF с помощью кода:iTextSharp - как целевой PDF номер страницы

Anchor click = new Anchor("Click to go to Target"); 
    click.Reference = "#target"; 
    Paragraph p1 = new Paragraph(); 
    p1.Add(click); 
    doc.Add(p1); 

    Anchor target = new Anchor("Target"); 
    target.Name = "target"; 
    doc.Add(target); 

Мой вопрос заключается в том, как целевой страницы на основе ее номера. Например, если целевой номер страницы равен 6, нажатие на текст привязки должно занимать 6-ю страницу.

ответ

2

Вместо Anchor вам нужен Chunk. К этому Chunk вам нужно добавить PdfAction. Действие должно быть действием gotoLocalPage().

Например:

Chunk chunk = New Chunk("Go to page 5"); 
PdfAction action = PdfAction.GotoLocalPage(5, New PdfDestination(0), writer); 
chunk.SetAction(action); 
0
 iTextSharp.text.Document doc = new iTextSharp.text.Document(); 
     Chunk chunk = new Chunk("Go to page 5"); 
     var writer = PdfWriter.GetInstance(doc, new FileStream(highLightFile, FileMode.Create)); 
     var des = new PdfDestination(0,10f); 
     PdfAction action = PdfAction.GotoLocalPage(5, des, writer); 
     doc.Open(); 
     chunk.SetAction(action); 
     Paragraph p1 = new Paragraph(); 
     p1.Add(chunk); 
     doc.Add(p1); 
     doc.Close(); 
Смежные вопросы