使用Java旋转pdfbox中的文本

时间:2018-08-28 09:23:12

标签: java javafx javafx-8 pdfbox

我想用pdfbox旋转文本,如图中的一行

enter image description here

1 个答案:

答案 0 :(得分:3)

由于您没有提供画线代码,因此我在这里画了一条线。您可能需要对此进行调整以适应您的情况。

要在行上方旋转文本,您必须更改文本矩阵或当前转换矩阵以旋转以下内容,例如像这样:

PDDocument doc = new PDDocument();
PDPage page = new PDPage();
doc.addPage(page);
PDPageContentStream cos = new PDPageContentStream(doc, page);
cos.transform(Matrix.getRotateInstance(-Math.PI / 6, 100, 650));
cos.moveTo(0, 0);
cos.lineTo(125, 0);
cos.stroke();
cos.beginText();
String text = "0.72";
cos.newLineAtOffset(50, 5);
cos.setFont(PDType1Font.HELVETICA_BOLD, 12);
cos.showText(text);
cos.endText();
cos.close();
doc.save("TextOnLine.pdf");
doc.close();

RotatedTextOnLine测试testRotatedTextOnLineForCedrickKapema

我选择使用当前的变换矩阵,因为这样可以使水平线与文本一起旋转。

结果:

screen shot