我正在使用库“com.itextpdf:itextg”来生成PDF文件 . 我的要求是以A4格式将图像添加到PDF文件,每页一张图像 .
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
Image image = Image.getInstance(stream.toByteArray());
image.scaleToFit(PageSize.A4);
document.add(image);
默认情况下,图像将添加为顶部对齐,并且PDF文档页面底部的某些空间处于空白状态 .
我想中心对齐图像,以便从所有边留下相等的空间,图像放在中心 .
我知道我们有一个方法setAbsolutePosition,但它需要absoluteX和absoluteY . 我需要一些像CENTRE_HORIZONTAL和CENTRE_VERTICAL这样的亲戚 . 有人可以帮助生成中心对齐(垂直和水平)图像的PDF吗?
3 回答
如果您确实需要A4页面,则需要计算缩放图像的X,Y位置,使其在水平和垂直方向上居中 .
这将使图像居中在A4页面上 .
但是,如果我是你,我不会尝试将图像居中放在A4页面上 . 相反,我会将页面大小调整为图像的大小 .
图像的水平中心对齐可以通过以下代码实现
使用
setAlignment()
进行居中图像 .欲了解更多信息Read this