Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change line thickness in iText?

Tags:

java

pdf

itext

I'm drawing images to pdf using Java framework iText. I need to draw lines of specified width. There is a method setLineWidth(float width) in class PdfContentByte that should change it. However no matter what value I pass as its parameter the lines drawn are always extra thin.

There is following line in javadoc of setLineWidth:

The line width specifies the thickness of the line used to stroke a path and is measured in user space units.

I don't know what is "space unit". Everything else in iText seems to be measured in point(around 1/72 inch). I cant find any reference to what are those "space units" and how to change them.

code:

to.setLineWidth(thickness);
to.moveTo(x, y);
to.lineTo(x + 100, y + 100);

Variable to contains instance of PdfContentByte.

like image 249
Rasto Avatar asked May 03 '10 11:05

Rasto


1 Answers

Solved. There was no stroke method call after lineTo call. That's why it used another line width set just before stoke method was called. Correct code look like this:

to.setLineWidth(thickness);
to.moveTo(x, y);
to.lineTo(x + 100, y + 100);
to.stroke();
like image 170
Rasto Avatar answered Oct 05 '22 22:10

Rasto