2016-03-24 154 views
1

空白の1ページのMS Word文書のPDFがあります。私はそれにテキストボックスを追加したい。コードは次のように:iTextSharpで作成された注釈が表示されない

void addAnnotation() 
{ 
    string filename = @"C:\Users\userID\Documents\Visual Studio 2013\Projects\PDFConverterTester\TestAddSrc.pdf"; 
    string destFile = @"C:\Users\userID\Documents\Visual Studio 2013\Projects\PDFConverterTester\TestAddDest.pdf"; 
    PdfReader pdfReader = new PdfReader(filename); 
    FileStream stream = new FileStream(destFile, FileMode.Create); 
    PdfStamper pdfStamper = new PdfStamper(pdfReader, stream); 

    iTextSharp.text.Rectangle rect = new iTextSharp.text.Rectangle(100,100, 100, 100); 
    PdfWriter pdfWriter = pdfStamper.Writer; 
    PdfAnnotation annot = PdfAnnotation.CreateStamp(pdfWriter, rect, "XYZABC add rect", "new rectangle"); 
    pdfStamper.AddAnnotation(annot, 1); 
    pdfStamper.Close(); 
} 

私はTestAddDest.pdfを開くと、それだけで元のPDFと同じように、空白だと、ファイルサイズが同じであるので、私は注釈が追加されていないと仮定しています。このテキストボックスを追加するにはどうすればよいですか?

編集:

ソースPDF:http://docdro.id/jAOpxr3

先PDF:Rectangleがゼロの幅と高さゼロであるため、PDFが空白のhttp://docdro.id/gOaHsQm

+2

私は、新しいファイルに予想される注釈を取得します。 PDFの前後に投稿して、どこかで検査することはできますか? –

+0

@ChrisHaas、完了、編集を参照してください。 – sigil

答えて

2

理由は次のとおりです。

iTextSharp .text.Rectangle rect = new iTextSharp.text.Rectangle(100,100,100,100);

その行にブレークポイントを置くか:

Console.WriteLine("W: {0}, H: {1}", rect.Width, rect.Height); 

出力:

W:0、H:0

が置かれ、このような何かを、試してみてくださいページ上部のRectangle

Rectangle rect = new Rectangle(20, 700, 400, 776); 

先PDF:私は空白のPDFに対して、あなたのコードを実行すると

enter image description here

関連する問題