com.itextpdf.text.Image
- 在插入圖像到指定位置的時候,我們最好使用表格進行布局,不要直接設置圖像的相對位置。
在相對位置上插入圖片
// 在文件中插入圖像:
String imgURL = "https://blog-static.cnblogs.com/files/duchaoqun/wechat.ico"
Image image = Image.getInstance(new URL(imgURL))
image.scalePercent(30, 30) // 圖片的縮放大小
image.setAbsolutePosition(400, 300) // 圖像在本頁的相對位置。
document.add(image)
在指定的位置插入圖片
// 找到當前 writer 的 Y 坐標,然后稍微調整一下位置即可
float postionY = (float)(writer.getVerticalPosition(true) + 20f)
String imgURL = "https://blog-static.cnblogs.com/files/duchaoqun/wechat.ico"
Image image = Image.getInstance(new URL(imgURL))
image.scalePercent(30, 30) // 圖片的縮放大小
image.setAbsolutePosition(400, postionY) // 圖像在本頁的相對位置。
document.add(image)
背景圖片
// 創建一個 ImageBackground 類 繼承EventHelper類
import com.itextpdf.text.Document
import com.itextpdf.text.Image
import com.itextpdf.text.pdf.PdfPageEventHelper
import com.itextpdf.text.pdf.PdfWriter
class ImageBackground extends PdfPageEventHelper {
private Image image
public ImageBackground(Image image) {
this.image = image
}
@Override
public void onEndPage(PdfWriter writer, Document document) {
writer.directContentUnder.addImage(image)
}
}
// 然后再調用的地方進行處理
Image image = Image.getInstance(this.getClass().getClassLoader().getResource("a.jpg"))
image.setAbsolutePosition(0, 0)
writer.setPageEvent(new ImageBackground(image))