Skip to main content
Skip table of contents

How to strike through text using iText?

I have 2 numbers one above the other, but the first one must have an Strikethrough. I'm using a table and a cell to put both numbers in the table, is there a way to meet my requirement?

Posted on StackOverflow on Feb 19, 2015 by Ischaves

Please take a look at the SimpleTable6 example:

Screen shot

Screen shot

In the first row, we strike through a number using a STRIKETHRU font:

Font font = new Font(FontFamily.HELVETICA, 12f, Font.STRIKETHRU);
table.addCell(new Phrase("0123456789", font));

In this case, iText has made a couple of decisions for you: where do I put the line? How thick is the line?

If you want to make these decisions yourself, you can use the setUnderline() method:

chunk1.setUnderline(1.5f, -1);
table.addCell(new Phrase(chunk1));
Chunk chunk2 = new Chunk("0123456789");
chunk2.setUnderline(1.5f, 3.5f);
table.addCell(new Phrase(chunk2));

If you pass a negative value for the y-offset parameter, the Chunk will be underlined (see first column). You can also use this method to strike through text by passing a positive y-offset.

As you can see, we also defined the thickness of the line (1.5f). There is another setUnderline() method that also allows you to pass the following parameters:

  • color - the color of the line or null to follow the text color

  • thickness - the absolute thickness of the line

  • thicknessMul - the thickness multiplication factor with the font size

  • yPosition - the absolute y position relative to the baseline

  • yPositionMul - the position multiplication factor with the font size

  • cap - the end line cap. Allowed values are PdfContentByte.LINE_CAP_BUTT, PdfContentByte.LINE_CAP_ROUND and PdfContentByte.LINE_CAP_PROJECTING_SQUARE

See the API documentation for Chunk for more info.

Click this link if you want to see how to answer this question in iText 7.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.