PDFBox如何更改线条的颜色

3
我使用pdfbox 1.8.5,并尝试使用PDPageContentStream.drawLine()绘制彩色线条。

我尝试使用PDPageContentStream.setNonStrokingColor(255,0,0);,但它不起作用。我也没有找到任何关于线条颜色的示例或教程。

有人知道如何改变线条颜色吗?


5
绘制一条线是一种描边操作,因此非描边命令不起任何作用。您尝试过使用常见的 setStrokingColor 命令吗? - Jongware
1
感谢您的快速回复。PDPageContentStream.setStrokingColor( 255, 0, 0 ); 解决了这个问题。我之前不知道这些差异。是否有文档可以找到这样的内容? - user3648066
Stroke和Fill之间的区别可以追溯到PDF内部格式的前身——PostScript。请阅读Adobe的PDF参考手册中的图形章节。 - Jongware
2
令人烦恼的是,PDFPageContentStream.drawLineAPI 文档 表示:“使用当前非描边颜色和当前线宽在页面上绘制一条线。” 显然这是错误的... - Jesper
1
@Jesper 我已经修改了javadocs(不在线上,只在代码库中)。感谢您指出这一点。大家注意:如果发现这样的问题,即使是小问题,请创建一个issue或在用户邮件列表中提到它。 - Tilman Hausherr
@TilmanHausherr 谢谢! - Jesper
2个回答

3

尝试这种方法,它对我很有效。

contentStream.setStrokingColor(229, 13, 209);

0

对于PDFBox 2.x,您需要使用contentStream.stroke()代替contentStream.drawLine()

例如:

contentStream.moveTo(xStart, yStart);
contentStream.lineTo(xEnd, yEnd);
contentStream.stroke();

您还可以使用setStrokingColor方法设置描边颜色。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接