标题概括了所有内容。
我想使用iTextSharp将文本添加到现有的PDF文件中,但是我找不到如何在网络中的任何地方执行此操作…
PS:我不能使用PDF表格。
我找到了一种方法(不知道这是否是最好的方法,但它确实有效)
string oldFile = "oldFile.pdf"; string newFile = "newFile.pdf"; // open the reader PdfReader reader = new PdfReader(oldFile); Rectangle size = reader.GetPageSizeWithRotation(1); Document document = new Document(size); // open the writer FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.Open(); // the pdf content PdfContentByte cb = writer.DirectContent; // select the font properties BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252,BaseFont.NOT_EMBEDDED); cb.SetColorFill(BaseColor.DARK_GRAY); cb.SetFontAndSize(bf, 8); // write the text in the pdf content cb.BeginText(); string text = "Some random blablablabla..."; // put the alignment and coordinates here cb.ShowTextAligned(1, text, 520, 640, 0); cb.EndText(); cb.BeginText(); text = "Other random blabla..."; // put the alignment and coordinates here cb.ShowTextAligned(2, text, 100, 200, 0); cb.EndText(); // create the new page and add it to the pdf PdfImportedPage page = writer.GetImportedPage(reader, 1); cb.AddTemplate(page, 0, 0); // close the streams and voilá the file should be changed :) document.Close(); fs.Close(); writer.Close(); reader.Close();
我希望这对某人==有用(并在此处发布任何错误)