com.itextpdf.text.Image该类中的一些方法可用于缩放图像。这些方法包括:scaleAbsolute(),scaleAbsoluteWidth(),scaleAbsoluteHeight(),scalePercent()和scaleToFit()。
package org.nhooo.example.itextpdf;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.IOException;
public class ImageScalingDemo {
public static void main(String[] args) {
Document doc = new Document();
try {
PdfWriter.getInstance(doc, new FileOutputStream("ImageScaling.pdf"));
doc.open();
// 将图像缩放到绝对宽度和绝对
// 高度
String filename = "other-sample/src/main/resources/java.gif";
Image image = Image.getInstance(filename);
image.scaleAbsolute(200f, 200f);
doc.add(image);
// 下一行可以防止“服务器退回"Server returned
// HTTP响应代码:403“错误。" error.
System.setProperty("http.agent", "Chrome");
// 将图像缩放到一定比例
String url = "https://nhooo.org/wp-content/uploads/2017/01/nhooo.png";
image = Image.getInstance(url);
image.scalePercent(200f);
doc.add(image);
// 缩放图像,使其适合特定的宽度并
// 高度
image = Image.getInstance(url);
image.scaleToFit(100f, 200f);
doc.add(image);
} catch (DocumentException | IOException e) {
e.printStackTrace();
} finally {
doc.close();
}
}
}Maven依赖
<!-- http://repo1.maven.org/maven2/com/itextpdf/itextpdf/5.5.10/itextpdf-5.5.10.jar --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency>