我想用pdfbox旋转文本,如图中的一行
答案 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
)
我选择使用当前的变换矩阵,因为这样可以使水平线与文本一起旋转。
结果: