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(); } } }