首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在已旋转的pdf页面上写入文本

在已旋转的pdf页面上写入文本
EN

Stack Overflow用户
提问于 2021-04-18 13:06:48
回答 1查看 36关注 0票数 1

我正在开发一个使用iText 7 (7.1.14)的应用程序,以便在现有PDF的右上角编写文本。我有一个旋转页面的问题,例如90,270。我尝试将AffineTransform.getRotateInstance应用于画布,但没有结果。

代码语言:javascript
复制
PdfFont bf = PdfFontFactory.createFont(FontConstants.HELVETICA);
float stringWidth = bf.getWidth(stringa,fontSize);
PdfCanvas canvas=new PdfCanvas(page, true);
float centeredPosition = pageSize.getWidth() - (pageSize.getWidth()/30);
float yCoord = (pageSize.getHeight()-fontSize-5);
float xCoord = centeredPosition-stringWidth;
canvas.beginText().setFontAndSize(bf, fontSize)
    .moveText(xCoord, yCoord)
    .showText(stringa)
    .setTextRenderingMode(pageN)
    .endText();
EN

回答 1

Stack Overflow用户

发布于 2021-04-18 16:32:32

您希望添加显示在页面右上角的文本,即使在对页面应用了页面旋转之后也是如此。

确保在考虑旋转的情况下获得页面大小,以便旋转后的页面的坐标计算正确:

代码语言:javascript
复制
Rectangle pageSize = page.getPageSizeWithRotation();

例如,对于旋转90度的A4页面,它返回842x595而不是595x842。

然后在添加新内容时“忽略”页面旋转:

代码语言:javascript
复制
page.setIgnorePageRotationForContent(true);

这实际上对添加的文本应用了适当的反向旋转,从而取消了页面旋转,因此文本看起来不会旋转。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67145351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档