java实现pdf旋转_java-Apache PDFBox旋转PDImageXObject

不要做额外的翻译,而是在创建AT时放入翻译.请记住,旋转是围绕左下轴进行的,因此将宽度w添加到x位置.

PDPage page = new PDPage();

document.addPage(page);

page.setRotation(90);

PDPageContentStream contentStream = new PDPageContentStream(document, page);

int x = 150;

int y = 300;

// draw unrotated

contentStream.drawXObject(ximage, x, y, ximage.getWidth() / 2, ximage.getHeight() / 2);

// draw 90° rotated, placed on the right of the first image

AffineTransform at = new AffineTransform(ximage.getHeight() / 2, 0, 0, ximage.getWidth() / 2, x + ximage1.getWidth(), y);

at.rotate(Math.toRadians(90));

contentStream.drawXObject(ximage, at);

这将绘制两次图像,一次正常旋转一次,旋转90°并定位在右侧. “ / 2”用于缩放50%,您当然可以使用其他因子.请注意,“ / 2”不用于初始x位置,因为(缩放)宽度需要两次.一次定位到旧位置(由于轴!),一次将其向右移动,以使图像不重叠.

还要注意,对于页面旋转,getHeight()和getWidth()是相反的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值