我尝试将iText5转换为iText7。从Nuget获得iText7的包裹。
答案 0 :(得分:7)
在chapter 5的iText 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
进行其他操作?在这种情况下,您需要改进您的问题。