简体   繁体   中英

Drawing diagonal line in a cell of a table in iTExt?

I'm creating a table in iText , but I've a problem with a cell that could be divided by a diagonal line . Someone know how can I do that?

The easiest way would be via an onGenericTag handler in a PdfPageEvent .

You give the contents of that cell a generic tag via Chunk.setGenericTag(String tag) , and set up a PdfPageEvent hanlder that will draw your line when that chunk is drawn.

Something like:

public class MyPdfPageEvent extends PdfPageEventHelper {
  public void onGenericTag(PdfWriter writer, Document doc, Rectangle rect, String tag) {
      PdfContentByte canvas = writer.getDirectContent();
      canvas.saveState();
      canvas.setColorStroke(Color.BLACK); // or whatever
      // You can also mess with the line's thickness, endcaps, dash style, etc.
      // Lots of options to play with.
      canvas.moveTo(rect.getLeft(), rect.getBottom());
      canvas.lineTo(rect.getRight(), rect.getTop());
      canvas.stroke();
      canvas.restoreState();
  }
}

Well. The answer of @Mark Storer was helpful, in this case there was a cell of a table I used "PdfPCellEvent" to inherid this methods.

Thanks Mark!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM