Java IText:图像
时间:2020-01-09 10:36:09 来源:igfitidea点击:
我们可以对IText中的图像做很多事情,包括缩放,旋转,遮罩,绝对定位,边框,对齐等。
这是本文涵盖的主题列表:
- 创建图像
- 绝对定位
- 缩放比例
- 旋转
创建图像
com.itextpdf.text.Image用于将图像添加到IText PDF文档。我们可以从文件或者从URL加载图像,如下所示:
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
public class ImageExample {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document,
new FileOutputStream("Image.pdf"));
document.open();
Image image1 = Image.getInstance("watermark.png");
document.add(image1);
String imageUrl = "http://Hyman.com/images/" +
"20081123-20081123-3E1W7902-small-portrait.jpg";
Image image2 = Image.getInstance(new URL(imageUrl));
document.add(image2);
document.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
绝对定位
我们可以使用setAbsolutePosition()方法设置图像的绝对位置。在将图像添加到文档之前,请执行此操作。该方法采用两个参数:图像左下角的X和Y坐标。还请记住,PDF文档中的原点坐标系是文档的左下角。而不是屏幕上方的左上角。
这是一个代码示例:
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.net.URL;
public class Image2Example {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document,
new FileOutputStream("Image2.pdf"));
document.open();
String imageUrl = "http://Hyman.com/images/" +
"20081123-20081123-3E1W7902-small-portrait.jpg";
Image image = Image.getInstance(new URL(imageUrl));
image.setAbsolutePosition(500f, 650f);
document.add(image);
document.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
缩放比例
我们可以使用以下Image方法之一缩放图像:
scaleAbsolute() scaleAbsoluteWidth() scaleAbsoluteHeight() scalePercentage() scaleToFit()
这是一个简单的示例:
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.net.URL;
public class Image3Example {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document,
new FileOutputStream("Image3.pdf"));
document.open();
String imageUrl = "http://Hyman.com/images/" +
"20081123-20081123-3E1W7902-small-portrait.jpg";
Image image = Image.getInstance(new URL(imageUrl));
image.scaleAbsolute(150f, 150f);
document.add(image);
Image image2 = Image.getInstance(new URL(imageUrl));
image2.scalePercent(300f);
document.add(image2);
document.close();
} catch(Exception e){
e.printStackTrace();
}
}
}
旋转
我们也可以使用以下方法旋转IText PDF文档中的图像:
setRotationDegrees() setRotation()
这是一个简单的示例:
import com.itextpdf.text.Document;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.net.URL;
public class Image4Example {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document,
new FileOutputStream("Image4.pdf"));
document.open();
String imageUrl = "http://Hyman.com/images/" +
"20081123-20081123-3E1W7902-small-portrait.jpg";
Image image = Image.getInstance(new URL(imageUrl));
image.setRotationDegrees(45f);
document.add(image);
document.close();
} catch(Exception e){
e.printStackTrace();
}
}
}

