繁体   English   中英

iText7 - 将文本添加到现有 pdf 的底部

[英]iText7 - Add text to the bottom of existing pdf

我需要在现有的.pdf 文档的底部添加一些文本内容,其中包含 iText。 我有一个工作方法,但是新内容显示在左上角,与现有内容重叠:

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 的新手,令人惊讶的是,我在网上找不到解决方案。

你可以使用这样的代码来做到这一点。

   PdfPage     page   = doc.GetPage(doc.GetNumberOfPages());
    //Create canvas fro the last page
    Canvas      canvas = new Canvas(page, page.GetPageSize());
    //Set fixed position to put the div at the left bottom  corner of the canvas
    div.SetFixedPosition(0, 0, page.getPageSize().getWidth());
    canvas.Add(p);
    doc.Close();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM