【发布时间】:2015-10-30 16:16:06
【问题描述】:
我正在尝试使用 Java 和 PDFBox 将一些文本绘制到 PDF 文件中,并为文本设置背景颜色。我知道如何绘制文本和绘制填充矩形,但是当我尝试在与矩形相同的位置绘制文本时,文本永远不会显示。示例:
//draw rectangle
content.setNonStrokingColor(200, 200, 200); //gray background
content.fillRect(cursorX, cursorY, 100, 50);
//draw text
content.setNonStrokingColor(0, 0, 0); //black text
content.beginText();
content.setFont(family, fontPt);
content.moveTextPositionByAmount(cursorX, cursorY);
content.drawString("Test Data");
content.endText();
文字永远不会出现。它总是被矩形覆盖。关于如何使文本绘制在矩形顶部的任何想法?
编辑:正如 Mkl 在回答中提到的,我提供的代码确实有效。我的问题最终是代码在一个循环中,为每一行绘制背景,但背景是在前一行而不是当前行上绘制,覆盖了以前的文本。我只需要改变循环中的事件顺序。这个问题应该删除吗?其他人似乎不太可能觉得它有用。
【问题讨论】:
-
你关闭内容流了吗?
-
@TilmanHausherr 接受的答案只是帮助我在我的代码中找到了一个错误。你永远不知道什么时候一些随机的旧答案会有所帮助,在我看来应该保留这个问题。
-
有 7 人赞成,答案已被证明是有用的????