首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iText图像调整大小

iText图像调整大小
EN

Stack Overflow用户
提问于 2012-06-20 21:31:54
回答 6查看 101.9K关注 0票数 23

我有一个水印,我想放到我的pdf中。水印为.bmp图像,大小为2290x3026。我在尝试调整这张图片的大小以适应页面时遇到了很多麻烦,有人有什么建议吗?

代码语言:javascript
复制
Document document = new Document(); 
PdfWriter.getInstance(document, new FileOutputStream("result.pdf")); 
document.open(); 
document.add(new Paragraph("hello")); 
document.close(); 
PdfReader reader = new PdfReader("result.pdf"); 
int number_of_pages = reader.getNumberOfPages(); 
PdfStamper pdfStamper = new PdfStamper(reader, new FileOutputStream("result_watermark.pdf")); 
// Get the PdfContentByte type by pdfStamper. 
Image watermark_image = Image.getInstance("abstract(0307).bmp"); 
int i = 0; 
watermark_image.setAbsolutePosition(0, 0);
watermark_image.scaleToFit(826, 1100);
System.out.println(watermark_image.getScaledWidth());
System.out.println(watermark_image.getScaledHeight()); 
PdfContentByte add_watermark; 
while (i < number_of_pages) { 
    i++; 
    add_watermark = pdfStamper.getUnderContent(i); 
    add_watermark.addImage(watermark_image); 
} 
pdfStamper.close();

以下是getScaled()方法的输出。

代码语言:javascript
复制
826.0 - Width
1091.4742 - Height

我很想和你们分享pdf的照片,但不幸的是我不能。

我是否应该尝试使用.jpg?我真的不知道iText如何处理不同的图像扩展。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-06-26 03:15:11

您可以使用另一种方法:“手动”调整图像大小(即通过图像处理软件),而不是通过iText编程。

由于最后的尺寸似乎是硬编码的,所以您可以使用已经调整大小的图像,并在每次为PDF文档添加水印时节省一些处理时间。

票数 7
EN

Stack Overflow用户

发布于 2012-06-20 22:19:45

我是这样做的:

代码语言:javascript
复制
//if you would have a chapter indentation
int indentation = 0;
//whatever
Image image = coolPic;

float scaler = ((document.getPageSize().getWidth() - document.leftMargin()
               - document.rightMargin() - indentation) / image.getWidth()) * 100;

image.scalePercent(scaler);
票数 63
EN

Stack Overflow用户

发布于 2013-01-11 19:40:30

使用

代码语言:javascript
复制
watermark_image.scaleAbsolute(826, 1100);

而不是

代码语言:javascript
复制
watermark_image.scaleToFit(826, 1100);
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11120775

复制
相关文章

相似问题

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