Asa*_*sad 5 java pdf android pdf-generation itext
我需要像下图一样制作 PDF 示例文件,但我没有找到任何合适的指南来做这件事。我遵循了一些链接
http://itextpdf.com/examples/iia.php?id=102
有没有办法在 iText(Java 版本)中将矩形绘制到 PdfPCell 中?
但从第二个链接我不明白我怎么能更可能满足我的要求。
提前致谢。
我不清楚您为什么引用这个示例:http://itextpdf.com/examples/iia.php? id=102 使用该示例创建的 PDF 显示我穿着超人服装。创建带有圆形边框的表格有什么联系?
请查看NestedTableRoundedBorder示例。它创建一个如下所示的 PDF:nested_table_rounded_border.pdf

该结构由嵌套表组成。外表只有一列,但我们用它来创建圆角:
class RoundRectangle implements PdfPCellEvent {
public void cellLayout(PdfPCell cell, Rectangle rect,
PdfContentByte[] canvas) {
PdfContentByte cb = canvas[PdfPTable.LINECANVAS];
cb.roundRectangle(
rect.getLeft() + 1.5f, rect.getBottom() + 1.5f, rect.getWidth() - 3,
rect.getHeight() - 3, 4);
cb.stroke();
}
}
Run Code Online (Sandbox Code Playgroud)
该单元格事件的使用方式如下:
cell = new PdfPCell(innertable);
cell.setCellEvent(roundRectangle);
cell.setBorder(Rectangle.NO_BORDER);
cell.setPadding(8);
outertable.addCell(cell);
Run Code Online (Sandbox Code Playgroud)
内部表格用于创建带边框或不带边框的单元格,例如如下所示:
// inner table 1
PdfPTable innertable = new PdfPTable(5);
innertable.setWidths(new int[]{8, 12, 1, 4, 12});
// first row
// column 1
cell = new PdfPCell(new Phrase("Record Ref:"));
cell.setBorder(Rectangle.NO_BORDER);
innertable.addCell(cell);
// column 2
cell = new PdfPCell(new Phrase("GN Staff"));
cell.setPaddingLeft(2);
innertable.addCell(cell);
// column 3
cell = new PdfPCell();
cell.setBorder(Rectangle.NO_BORDER);
innertable.addCell(cell);
// column 4
cell = new PdfPCell(new Phrase("Date: "));
cell.setBorder(Rectangle.NO_BORDER);
innertable.addCell(cell);
// column 5
cell = new PdfPCell(new Phrase("30/4/2015"));
cell.setPaddingLeft(2);
innertable.addCell(cell);
// spacing
cell = new PdfPCell();
cell.setColspan(5);
cell.setFixedHeight(3);
cell.setBorder(Rectangle.NO_BORDER);
innertable.addCell(cell);
Run Code Online (Sandbox Code Playgroud)
如果某些尺寸非常像您想要的,则更改宽度数组、填充、固定高度等参数就足够了。
| 归档时间: |
|
| 查看次数: |
7893 次 |
| 最近记录: |