【发布时间】:2020-07-08 07:04:39
【问题描述】:
我需要使用 iText 在现有 .pdf 文档的底部添加一些文本内容。我有一个工作方法,但是新内容显示在左上角,与现有内容重叠:
public PdfDocument GetDocumentWithAppendedContent(string path, string content)
{
var stream = new MemoryStream();
var writer = new PdfWriter(stream);
writer.SetCloseStream(false); // so I can reuse stream to create a readonly document later
var pdfResult = new PdfDocument(new PdfReader(path), writer);
var document = new Document(pdfResult);
var div = new Div().SetMargin(0).SetPadding(0).SetKeepTogether(true);
div.Add(new Paragraph(content));
document.Add(div);
document.Close();
pdfResult.Close();
stream.Position = 0;
return new PdfDocument(new PdfReader(stream)); // return a readonly version
}
如何“移动”最后一页底部的content,而不是第一页的开头?我是 iText 的新手,令人惊讶的是,我在网上找不到解决方案。
【问题讨论】:
-
PDF 通常不包含指示继续添加新内容的位置的标记。当然,可以简单地确定页面上所有内容的边界框并从下面开始。但考虑到页面可能有一些页脚或一些背景图形,这种简单的方法可能不是您想要的......