2

Acrobat SDK を使用せずに PDF ドキュメントにブックマークを追加する必要があります (完全な Acrobat Professional をインストールする必要があります)。iTextSharp を使用していますが、Java 用に作成されたものであり、.net への移植は完了していません。それを行うための無料の代替手段またはドキュメントを知っていますか?

4

1 に答える 1

2

iTextSharp は Java 用に作成されたものであり、.net への移植は完了していない」という主張はかなり間違っています。主な相違点は次のとおりです

iTextsharp でブックマークを追加するのは簡単です。PdfOutlineおよびPdfDestinationの 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上記をお好みのストリームに置き換えてください。

于 2011-12-29T12:29:17.673 に答える