tags:

views:

165

answers:

1

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.

+2  A: 

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();
drasto