2013-01-21 19 views
6

私はPDFを手に入れました。最初のページとして、理想的には追加のページを追加したいと思います。私はPDFSharpでこれを達成することができましたが、問題は元のPDFにブックマークが含まれていることです。 PDFSharpを使用すると、ブックマークが削除されているようです。または、少なくとも、追加のページを含む新しく作成されたPDFを元の目次に保存するためのオプションやコマンドは認識されていません。ブックマークを保持しながら既存のPDFに追加ページを追加するには? (PDFSharpなど)

誰かがPDFSharpや他の.NETライブラリ(理想的には無料のもの)でTOCを保持する方法を知っていますか?既存のPDFにページを追加してブックマークを維持することができますか? (私は最初のページとしてページを追加するとページの参照が無効になることを知っています。最後のページとしてページを追加することもOKです)

ありがとうございます!

答えて

5

PDFファイルはTOCではなくブックマークを使用することが判明しました。ブックマークと連動

ソリューションは、ここに示されています:
http://forum.pdfsharp.net/viewtopic.php?p=6660#p6660

既存のファイルは、修正のために開かれた新しいページが文書の先頭に挿入されている - と、すべてのブックマークがまだ動作します。

ここでは、コードスニペットがあります:このソリューションの

static void Main(string[] args) 
{ 
    const string filename = "sample.pdf"; 
    File.Copy(Path.Combine("D:\\PDFsharp\\PDFfiles\\sample\\", filename), 
     Path.Combine(Directory.GetCurrentDirectory(), filename), true); 

    // Open an existing document for editing and loop through its pages 
    PdfDocument document = PdfReader.Open(filename); 
    var newPage = document.InsertPage(0); 

    // Get an XGraphics object for drawing 
    XGraphics gfx = XGraphics.FromPdfPage(newPage); 

    // Create a font 
    XFont font = new XFont("Times New Roman", 20, XFontStyle.BoldItalic); 

    // Draw the text 
    gfx.DrawString("Hello, World!", font, XBrushes.Black, 
     new XRect(0, 0, newPage.Width, newPage.Height), 
     XStringFormats.Center); 

    document.Save(filename); 
    // ...and start a viewer. 
    Process.Start(filename); 
} 
+0

おかげで、それが魅力のように働きました! – DotNetDeveloper