itextpdf table border dotted line

import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Font.FontFamily;
import com.itextpdf.text.Image;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.Barcode128;
import com.itextpdf.text.pdf.BarcodeQRCode;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPCellEvent;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

import com.itextpdf.text.pdf.qrcode.EncodeHintType;


//虚线格式 顶部
static class CustomCellTOP implements PdfPCellEvent {
public void cellLayout(PdfPCell cell, Rectangle position,
            PdfContentByte[] canvases) {


    // TODO Auto-generated method stub
    PdfContentByte cb = canvases[PdfPTable.LINECANVAS];
    cb.saveState();
    cb.setLineWidth(0.5f);
    cb.setLineDash(new float[] { 5.0f, 5.0f }, 0);
    cb.moveTo(position.getLeft(), position.getTop());
    cb.lineTo(position.getRight(), position.getTop());
    cb.stroke();
    cb.restoreState();


}
}
//虚线格式 右边
static class CustomCellRight implements PdfPCellEvent {
public void cellLayout(PdfPCell cell, Rectangle position,
            PdfContentByte[] canvases) {    PdfContentByte cb = canvases[PdfPTable.LINECANVAS];    cb.saveState();    cb.setLineWidth(0.5f);    cb.setLineDash(new float[] { 5.0f, 5.0f }, 0);    cb.moveTo(position.getRight(), position.getTop());    cb.lineTo(position.getRight(),position.getBottom());    cb.stroke();    cb.restoreState();}


    











}

public class Test{

public void demo(){

    CustomCellRight lineRight=new CustomCellRight ();

    CustomCellRight lineTop=new CustomCellRight ();

    PdfPTable tableDetail = new PdfPTable(new float[] { 10.5f, 10.5f });// 2-column table and cell width.

                    PdfPCell cell = new PdfPCell('你好');

                                tableDetail.add(cell);
                                tableDetail.add(cell);
cell.setBorder(Rectangle.NO_BORDER);
cell.setCellEvent(lineTop);
cell.setCellEvent(lineRight);

                    tableDetail.add(cell);

                      tableDetail.add(cell);

}

}

Xiao Chen Q1358522284 Contact me if you have any questions

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324853156&siteId=291194637