IText PDF保证金边框

时间:2014-09-25 12:39:38

标签: java itext

我想要一个边界线作为创建PDF的边距。

我尝试使用以下代码。但它不会给所有方面带来利润。

PdfContentByte canvas = writer.getDirectContent();
Rectangle rect = document.getPageSize();
rect.setBorder(Rectangle.BOX); // left, right, top, bottom border
rect.setBorderWidth(1); // a width of 5 user units
rect.setBorderColor(BaseColor.LIGHT_GRAY); // a red border
rect.setUseVariableBorders(false); // the full width will be visible
canvas.rectangle(rect);

我也试过这个,但它没有用。

PdfContentByte canvas = writer.getDirectContent();
canvas.rectangle(5, 5, document.getPageSize().getWidth()-50, document.getPageSize().getHeight());

假设,我想留下边缘40,而不是边界。有可能吗?

1 个答案:

答案 0 :(得分:2)

第一个代码片段应该可以工作,除非定义了CropBox。如果有裁剪框,​​则矩形的一部分将位于页面的可见区域。

第一个代码段的第二个问题是:

rect.setUseVariableBorders(false);

边框宽度为1,但由于您不使用可变边框,因此只能看到0.5pt,其他0.5pt将位于页面的可见区域之外。

第二个片段因为不完整而无法正常工作。您忘记添加以下行:

canvas.stroke();