Я использую iText для создания pdf. Я хочу рисовать пунктирную линию в заголовке таблицы. Теперь я так стараюсь.Пунктирная линия сверху и снизу в iText
private void createTable(Document document) throws DocumentException {
Report_Page app = new Report_Page();
float[] columnWidths = { 1.5f, 5f, 2f, 1.5f, 2f };
PdfPTable table = new PdfPTable(columnWidths);
table.setTotalWidth(300f);
PdfPCell cell = new PdfPCell(new Phrase("P.No"));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setCellEvent(app.new DottedCell());
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Item Name"));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setCellEvent(app.new DottedCell());
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Price"));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setCellEvent(app.new DottedCell());
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Qty"));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setCellEvent(app.new DottedCell());
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
cell = new PdfPCell(new Phrase("Ext Price"));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setCellEvent(app.new DottedCell());
cell.setBorder(Rectangle.NO_BORDER);
table.addCell(cell);
table.setHeaderRows(1);
}
class DottedCell implements PdfPCellEvent {
@Override
public void cellLayout(PdfPCell cell, Rectangle position,
PdfContentByte[] canvases) {
PdfContentByte canvas = canvases[PdfPTable.LINECANVAS];
canvas.setLineDash(3f, 3f);
canvas.rectangle(position.getLeft(), position.getBottom(),
position.getWidth(), position.getHeight());
canvas.stroke();
}
}
Теперь O/P выглядит следующим образом.
Но я хочу удалить левую и правую границу. Пожалуйста, дайте мне понять, как удалить левую и правую границу.
Изображение для центра стола:
Привет @Bruno Lowagie .. Спасибо за ваш ценный ответ. Я попробую и дам вам знать в ближайшее время .. – Vijay
Привет @Bruno .. Это то, что я хочу. :-) Но я использую ваше первое решение (извините) .. Потому что я очень новичок в iText. Теперь только я изучаю iText. Должен выполнить свою задачу за 3 дня. Так что не делай меня. И я пытаюсь сосредоточить стол. Но я не могу. Я использую ** table.setHorizontalAlignment (Element.ALIGN_CENTER); **. Но не повезло .. :-( – Vijay
Использование 'table.setHorizontalAlignment (Element.ALIGN_CENTER)' центрирует таблицу по горизонтали. См. Http://itextpdf.com/examples/iia.php?id=77 и взгляните на http: //examples.itxtpdf.com/results/part1/chapter04/table_alignment.pdf (Это работает, не так ли?) –