Acrobat SDK的最佳免费替代方案,以便在c#.net中操作PDF文档

时间:2011-12-29 09:44:15

标签: pdf-generation itextsharp bookmarks acrobat-sdk

我需要在不使用Acrobat SDK(需要安装完整的Acrobat专业版)的情况下为pdf documet添加书签。 我正在使用iTextSharp,但它是为Java制作的,并且移植到.net上并不完整。 你知道一个免费的替代品或文件吗?

1 个答案:

答案 0 :(得分:2)

你声称“ iTextSharp但是是为Java制作的,并且移植到.net它不完整”非常错误。主要区别是listed here

使用iTextsharp添加书签很简单。请参阅PdfOutlinePdfDestination的API。这是一个简单的例子,可以帮助您入门:

using (Document document = new Document()) {
  PdfWriter writer = PdfWriter.GetInstance(
    document, Response.OutputStream
  );
  document.Open();
  PdfOutline root = writer.RootOutline;
  string section = "Section {0}";
  string paragraph = "Paragraph {0}";
  for (int i = 0; i < 10;) {
    PdfOutline sectionBookmark = new PdfOutline(
      root, 
      new PdfDestination(
        PdfDestination.FITH, writer.GetVerticalPosition(true)
      ),
      string.Format(section, ++i)
    );
    document.Add(new Paragraph(string.Format(section, i)));
    for (int j = 0; j < 4;) {
      PdfOutline subSectionBookmark = new PdfOutline(
        sectionBookmark,
        new PdfDestination(
          PdfDestination.FITH, writer.GetVerticalPosition(true)
        ),
        string.Format(paragraph, ++j)
      );
      document.Add(new Paragraph(string.Format(paragraph, j)));
    }
    document.NewPage();
  }
}

以上示例在具有5.1.3的Web环境中进行了测试。如果您的开发环境不同,请将上面的Response.OutputStream替换为您选择的Stream