PDFBox PDPageContentstream.setTextMatrix() 使文本消失

PDFBox PDPageContentstream.setTextMatrix() making text disappear

我正在将 POSPrint 数据转换为 PDF。在某一点上,我需要将文本拉伸超过 2 行,但具有普通文本的宽度。我正在尝试像这样存档:

CONTENT.beginText();
Matrix textMatrix = new Matrix();
textMatrix.scale(1f, 2f);
CONTENT.setTextMatrix(textMatrix);
CONTENT.newLineAtOffset(50, 50);
CONTENT.setCharacterSpacing(line.getLineSpacing());
CONTENT.showText(restOfLine);
CONTENT.endText();

遗憾的是,这导致文本根本不显示。如果我删除用于添加文本矩阵的行,或将矩阵比例值设置为 1,这将毫无问题地工作:

CONTENT.beginText();
Matrix textMatrix = new Matrix();
textMatrix.scale(1f, 1f);
CONTENT.setTextMatrix(textMatrix);
CONTENT.newLineAtOffset(50, 50);
CONTENT.setCharacterSpacing(line.getLineSpacing());
CONTENT.showText(restOfLine);
CONTENT.endText();

CONTENT.beginText();
CONTENT.newLineAtOffset(50, 50);
CONTENT.setCharacterSpacing(line.getLineSpacing());
CONTENT.showText(restOfLine);
CONTENT.endText();

有人知道为什么会这样吗?

我使用 PDFBox 2.0.25

如果缩放 TextMatrix,矩阵的位置也会受到影响。要解决这种移动缩放文本的不良行为,您还必须将文本位置除以缩放比例。

CONTENT.beginText();
Matrix textMatrix = new Matrix();
textMatrix.scale(1f, 2f);
CONTENT.setTextMatrix(textMatrix);
CONTENT.newLineAtOffset(50, 50/2f); //devide y position by scale
CONTENT.setCharacterSpacing(line.getLineSpacing());
CONTENT.showText(restOfLine);
CONTENT.endText();