Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在ApachePDFBox中呈现彩色文本_Java_Pdf_Text_Pdfbox - Fatal编程技术网

Java 如何在ApachePDFBox中呈现彩色文本

Java 如何在ApachePDFBox中呈现彩色文本,java,pdf,text,pdfbox,Java,Pdf,Text,Pdfbox,是的,这似乎是一个奇怪的问题,但我无法在PDFBox中渲染彩色文本 通常,生成文本的代码如下所示: //创建一些文档和页面。。。 PDDocument文档=新PDDocument(); PDPage page=新的PDPage(PD矩形.A4); //定义了一些字体 PDFont HELVETICAREQUALE=PDType1Font.HELVETICA; //用于编写文本的内容流 PDPageContentStream contentStream=新的PDPageContentStream(

是的,这似乎是一个奇怪的问题,但我无法在PDFBox中渲染彩色文本

通常,生成文本的代码如下所示:

//创建一些文档和页面。。。
PDDocument文档=新PDDocument();
PDPage page=新的PDPage(PD矩形.A4);
//定义了一些字体
PDFont HELVETICAREQUALE=PDType1Font.HELVETICA;
//用于编写文本的内容流
PDPageContentStream contentStream=新的PDPageContentStream(文档,页面);
contentStream.beginText();
setFont(HelveticRegular,16);
contentStream.setStrokingColor(1f、0.5f、0.2f);
contentStream.newlineatofset(64,page.getMediaBox().getUpperRightY()-64);
showText(“有希望的彩色文本”);
contentStream.endText();
//关闭小溪
contentStream.close();
[…]//用于保存和关闭文档的代码。没什么特别的
有趣的是,
setStrokingColor
是在流中接受颜色的唯一方法。 所以我认为这是在PDFBox中着色的方法

但是:我没有得到任何颜色的文字。所以我想这是一种用于其他类型内容的方法

有人知道如何在PDFBox中实现彩色文本吗?

您使用

contentStream.setStrokingColor(1f、0.5f、0.2f);
但在PDF中,默认情况下,文本不是通过笔划路径绘制的,而是通过填充路径绘制的。因此,你应该试试看

contentStream.setNonSrokingColor(1f、0.5f、0.2f);

相反。

Omg。我完全错过了这个方法:哦,非常感谢!它工作得很好:)