我试图从iText5转换为iText7。从Nuget获得了iText7的软件包。

最佳答案

chapter 5iText 7 Jump-start tutorial中对此进行了解释。不再有PdfStamper类。只有PdfDocument类用于创建文件和处理文件。

您的问题很不完整。

您的代码是否用于填写表格?在这种情况下,您需要这样的事情:

PdfDocument pdf = new PdfDocument(
    new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.getAcroForm(pdf, true);
Map<String, PdfFormField> fields = form.getFormFields();
fields.get("name").setValue("Abhishek Kumar");
pdf.close();

或在C#中:
PdfDocument pdf = new PdfDocument(new PdfReader(src), new PdfWriter(dest));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);
IDictionary<String, PdfFormField> fields = form.GetFormFields();
PdfFormField toSet;
fields.TryGetValue("name", out toSet);
toSet.SetValue("Abhishek Kumar");
form.FlattenFields();
pdf.Close();

您的代码是否用于向文档添加额外的内容?在这种情况下,您需要这样的事情:
PdfDocument pdfDoc =
    new PdfDocument(new PdfReader(src), new PdfWriter(dest));
Document document = new Document(pdfDoc);
Rectangle pageSize;
PdfCanvas canvas;
int n = pdfDoc.getNumberOfPages();
for (int i = 1; i <= n; i++) {
    PdfPage page = pdfDoc.getPage(i);
    pageSize = page.getPageSize();
    canvas = new PdfCanvas(page);
    // add new content
}
pdfDoc.close();

上面写着// add new content的位置,您可以将内容添加到canvas

您是否还在将PdfStamper用于其他用途?在这种情况下,您需要改进您的问题。

10-06 06:18