如何在iText中更改线条粗细?

时间:2010-05-03 11:55:13

标签: java pdf itext

我正在使用Java框架iText将图像绘制为pdf。我需要绘制指定宽度的线条。类setLineWidth(float width)中的方法PdfContentByte应该更改它。然而,无论我传递什么值作为参数,绘制的线总是超薄。

setLineWidth的javadoc中有以下行:

  

线宽指定用于描边路径的线条的粗细,并以用户空间单位进行测量。

我不知道什么是“空间单位”。 iText中的其他所有内容似乎都是以点(约1/72英寸)为单位进行测量的。我找不到任何关于那些“空间单位”以及如何改变它们的参考。

代码:

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

变量to包含PdfContentByte的实例。

1 个答案:

答案 0 :(得分:9)

解决。 lineTo调用后没有中风方法调用。这就是为什么它在调用stoke方法之前使用另一个线宽设置的原因。 正确的代码如下所示:

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