使用 iTextSharp 创建的注释未显示

Annotations created with iTextSharp not showing up

我有一份空白的一页 MS Word 文档的 PDF 文件。我想给它添加一个文本框。代码如下:

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:http://docdro.id/gOaHsQm

PDF 为空白的原因是 Rectangle 为零宽度和零高度:

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: