The com.itextpdf.text.Image
class represent an image of a graphic element such as JPEG, PNG or GIF that can be inserted into a PDF document. There are some methods of the com.itextpdf.text.Image
class that can be used to scale the image. These methods include the following: scaleAbsolute()
, scaleAbsoluteHeight()
, scaleAbsoluteWidth()
, scalePercent()
and scaleToFit()
.
These are signatures of those APIs:
scaleAbsolute(float newWidth, fload newHeight)
– Scales the image to an absolute width and an absolute height.scaleAbsoluteHeight(float newHeight)
– Scales the image to an absolute height.scaleAbsoluteWidht(float newWidth)
– Scales the image to an absolute width.scalePercent(float percent)
– Scales the image to a certain percentage.scalePercent(float percentX, float percentY)
– Scales the image to a certain percentage of width and height.scaleToFit(float fitWidth, float fitHeight)
– Scales the image to fit a certain width and height.
Here is a code snippet that shows how to use the scaleAbsolute()
, scalePercent()
and scaleToFit()
methods.
package org.kodejava.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();
// Scale the image to an absolute width and an absolute
// height
String filename = "kodejava-itextpdf/src/main/resources/java.png";
Image image = Image.getInstance(filename);
image.scaleAbsolute(200f, 200f);
doc.add(image);
// The following line to prevent the "Server returned
// HTTP response code: 403" error.
System.setProperty("http.agent", "Chrome");
// Scale the image to a certain percentage
String url = "https://kodejava.org/wp-content/uploads/2017/01/kodejava.png";
image = Image.getInstance(url);
image.scalePercent(200f);
doc.add(image);
// Scales the image so that it fits a certain width and
// height
image = Image.getInstance(url);
image.scaleToFit(100f, 200f);
doc.add(image);
} catch (DocumentException | IOException e) {
e.printStackTrace();
} finally {
doc.close();
}
}
}
Maven Dependencies
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024
If I need to scale the image to 794 px (width) and 559 px (height), what should I need to use, just like 100f, 200f?