使用 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:
我有一份空白的一页 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: