2014-09-25 84 views
0

我想要创建PDF的边距线。IText PDF Margin Border

我试着用下面的代码。但它不会在所有方面留下保证金。

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的所有边和比我想边界。可能吗 ?

回答

2

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

的第二个问题,您的第一个片段的担忧:

rect.setUseVariableBorders(false); 

你有1边框宽度,但你不使用可变边界仅0.5pt可以看出,其他0.5pt会外您网页的可见区域。

第二个代码段将不起作用,因为它不完整。您忘记添加以下行:

canvas.stroke(); 
+0

canvas.stroke()逻辑工作正常。谢谢。 – 2014-09-25 13:02:48