【问题标题】:IText 7 - Adding border for the pageIText 7 - 为页面添加边框
【发布时间】:2020-09-14 04:33:25
【问题描述】:

我正在寻找在 IText 7 中添加没有硬编码宽度和高度的页面边框。

尝试使用 Rectangle,但在 Itext 7 中没有 setBorder 方法。另外,这是针对整个页面的。

        Rectangle rect= new Rectangle(100, 100);
        rect.setBorder(2);
        rect.setBorderColor(BaseColor.BLACK);
        document.add(rect);

创建 PDF

final PdfDocument pdfDoc = new PdfDocument(new PdfWriter(pdfFileName)); 
 final Document doc = new Document(pdfDoc); 
 PdfPage page = pdfDoc.getPage(1); 
 Rectangle pageRect = new Rectangle(page.getTrimBox()); 

【问题讨论】:

    标签: itext7


    【解决方案1】:

    以下代码允许您在文档的指定页面周围绘制红色边框。除页码外没有硬编码。

    PdfPage page = pdfDocument.getPage(1);
    Rectangle pageRect = new Rectangle(page.getTrimBox());
    new PdfCanvas(page).setStrokeColor(ColorConstants.RED).setLineWidth(5).rectangle(pageRect).stroke();
    

    【讨论】:

    • 出现错误。线程“main”java.lang.IndexOutOfBoundsException 中的异常:请求的页码 1 超出范围。最终的 PdfDocument pdfDoc = new PdfDocument(new PdfWriter(pdfFileName));最终文档 doc = new Document(pdfDoc); PdfPage page = pdfDoc.getPage(1);矩形 pageRect = new Rectangle(page.getTrimBox());
    • @user1578872 请将您的最小代码(包括 PDF 创建)附加到问题中
    • 更新问题
    • 正如 Alexey 所说的“您文档的指定页面”。您的文档是全新的,还没有页面,因此您无法指定页面。首先显式调用pdfDoc.addNewPage() 或向doc 添加一些内容以隐式生成页面。
    • 这里,边框在拐角处。但是,我想在里面有点边缘。设置宽度和高度适用于顶部和右侧,但不适用于所有侧面。
    猜你喜欢
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2016-04-02
    • 1970-01-01
    相关资源
    最近更新 更多