我尝试在c#中使用itextsharp在pdf文件中创建相对链接。我使用过这个例子(翻译成C#):http://itextpdf.com/sandbox/annotations/RemoteGoToPage。
但是当我打开生成的pdf并点击链接时没有任何反应。但是,如果我更改为绝对路径链接。谢谢。
我的代码:
class Program
{
public const string DEST = "abc2.pdf";
public const string SRC = "xyz2.pdf";
static void Main(string[] args)
{
Program app = new Program();
app.createPdf(DEST);
app.createPdf2(SRC);
}
public void createPdf(string dest)
{
Document document1 = new Document();
PdfWriter.GetInstance(document1, new FileStream(dest, FileMode.Create));
document1.Open();
document1.Add(new Paragraph("Page 1"));
document1.NewPage();
document1.Add(new Paragraph("Page 2"));
document1.NewPage();
document1.Add(new Paragraph("Page 3"));
document1.NewPage();
document1.Add(new Paragraph("Page 4"));
document1.NewPage();
document1.Add(new Paragraph("Page 5"));
document1.NewPage();
document1.Add(new Paragraph("Page 6"));
document1.NewPage();
document1.Add(new Paragraph("Page 7"));
document1.Close();
}
public void createPdf2(string src)
{
Document document2 = new Document();
PdfWriter.GetInstance(document2, new FileStream(src, FileMode.Create));
document2.Open();
Chunk chunk = new Chunk("Link");
var link = "abc2.pdf"; //this don't work
//var link = "c:/temp/abc2.pdf"; //this work
chunk.SetAction(new PdfAction(link, 6));
document2.Add(chunk);
document2.Close();
}
}
答案 0 :(得分:0)
您可以根据文件位置在文件前尝试./(dot斜杠)或/(斜杠),如下所示
var link = "./abc2.pdf";
或
var link "/abc2.pdf";