我需要在PDF文件中找到我从 TextBox 获取的文字。
我使用以下代码从pdf中的 TextBox 获取文字。
for (int i = 1; i <= reader.NumberOfPages; i++)
{
iTextSharp.text.pdf.PdfArray array = reader.GetPageN(i).GetAsArray(iTextSharp.text.pdf.PdfName.ANNOTS);
if (array == null) continue;
for (int j = 0; j < array.Size; j++)
{
iTextSharp.text.pdf.PdfDictionary annot = array.GetAsDict(j);
iTextSharp.text.pdf.PdfString text = annot.GetAsString(iTextSharp.text.pdf.PdfName.CONTENTS);
}
}
我正在使用 ItextSharp 库。错误截图
答案 0 :(得分:1)
PdfReader reader = new PdfReader(SOURCE);
PdfStamper stamper = new PdfStamper(reader, TARGET);
TextField tf = new TextField(stamper.getWriter(), new Rectangle(300, 400,
500, 420), text);
stamper.addAnnotation(tf.getTextField(), 1);
PdfContentByte overContent = stamper.getOverContent(1);
BaseFont baseFont = BaseFont.createFont();
overContent.setFontAndSize(baseFont, 12);
overContent.beginText();
overContent.showTextAligned(PdfContentByte.ALIGN_BOTTOM, text, 300,
405, 0);
overContent.endText();
stamper.close ();
或尝试这个
using (PdfStamper stamper = new PdfStamper(new PdfReader(inputFile), File.Create(outputFile)))
{
TextField tf = new TextField(stamper.Writer, new iTextSharp.text.Rectangle(0, 0, 100, 300), "Vertical");
stamper.AddAnnotation(tf.GetTextField(), 1);
stamper.Close();
}