JAVA添加、提取、替换和删除PDF图片
(一)简介
这篇文章将介绍在Java中添加、提取、删除和替换PDF文档中的图片。
工具使用:
● Free Spire.PDF for JAVA 2.4.4(免费版)
● Intellij IDEA / Eclipse
Jar包导入:
方式(一):首先,从获取Jar包。
Step 1: 下载Jar包之后解压,进入“Project Structure” 界面。(以下是三种在IDEA或者Eclipse中快速打开Project Structure界面的方式,可任意选择一种方式)
Step 2: 按以下操作步骤进行导入。
选择“Modules”—“Dependencies”,添加外置jar包; 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”; 勾选jar路径选项,点击”OK”/”Apply”; 导入完成。如下图:
方式二:使用Maven配置导包。可参考导入方法。
主要参考使用的源文档截图:
(二)JAVA 代码示例
1. 给PDF添加图片
import com.spire.pdf.*;
import com.aphics.*;
public class drawImage {
public static void main(String[] args) {
PdfDocument doc = new PdfDocument();
doc.loadFromFile("data/Sample.pdf");
//获取文档的第一页
PdfPageBase page = doc.getPages().get(0);
drawImageMethod(page);
//保存PDF文件
doc.saveToFile("output/drawImage.pdf");
doc.close();
}
import com.aphics.*;
public class drawImage {
public static void main(String[] args) {
PdfDocument doc = new PdfDocument();
doc.loadFromFile("data/Sample.pdf");
//获取文档的第一页
PdfPageBase page = doc.getPages().get(0);
drawImageMethod(page);
//保存PDF文件
doc.saveToFile("output/drawImage.pdf");
doc.close();
}
private static void drawImageMethod(PdfPageBase page) {
//添加图片
PdfImage image = PdfImage.fromFile("data/1.png");
float width = image.getWidth() * 0.3f;
float height = image.getHeight() * 0.3f;
//放置图片的位置
java replace方法 page.getCanvas().drawImage(image, 420,100, width, height);
}
}
//添加图片
PdfImage image = PdfImage.fromFile("data/1.png");
float width = image.getWidth() * 0.3f;
float height = image.getHeight() * 0.3f;
//放置图片的位置
java replace方法 page.getCanvas().drawImage(image, 420,100, width, height);
}
}
添加图片结果:
2. 提取PDF中图片
import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
public class extraction {
public static void main(String[] args) throws Exception{
//加载测试文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("data/PDF_3.pdf");
int index = 0;
//遍历PDF每一页
for (int i= 0;i< pdf.getPages().getCount(); i ++){
//获取PDF页面
PdfPageBase page = pdf.getPages().get(i);
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
public class extraction {
public static void main(String[] args) throws Exception{
//加载测试文档
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("data/PDF_3.pdf");
int index = 0;
//遍历PDF每一页
for (int i= 0;i< pdf.getPages().getCount(); i ++){
//获取PDF页面
PdfPageBase page = pdf.getPages().get(i);
for (BufferedImage image : page.extractImages()) {
File output = new File("output/" + String.format("Image_%d.png", index++));
//将图片保存为PNG格式文件
ImageIO.write(image, "PNG", output);
}
}
}
}
File output = new File("output/" + String.format("Image_%d.png", index++));
//将图片保存为PNG格式文件
ImageIO.write(image, "PNG", output);
}
}
}
}
提取图片结果:
3. 替换PDF中图片
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.aphics.PdfImage;
import java.io.IOException;
public class ReplaceImage {
public static void main(String[] args) throws IOException {
import com.aphics.PdfImage;
import java.io.IOException;
public class ReplaceImage {
public static void main(String[] args) throws IOException {
//创建一个PDF实例
PdfDocument pdf = new PdfDocument();
PdfDocument pdf = new PdfDocument();
//加载PDF文档
pdf.loadFromFile("data/Sample.pdf");
//获取第一页
PdfPageBase page = pdf.getPages().get(0);
//加载一张图片
pdf.loadFromFile("data/Sample.pdf");
//获取第一页
PdfPageBase page = pdf.getPages().get(0);
//加载一张图片
PdfImage image = PdfImage.fromFile("data/1.png");
//使用加载的图片替换第一页上的第一张图片
page.replaceImage(0, image);
//保存文档
pdf.saveToFile("替换图片.pdf");
}
}
//使用加载的图片替换第一页上的第一张图片
page.replaceImage(0, image);
//保存文档
pdf.saveToFile("替换图片.pdf");
}
}
替换结果:
4. 删除PDF中图片
import com.spire.pdf.*;
public class deleteImage {
public static void main(String[] args) {
public class deleteImage {
public static void main(String[] args) {
//创建一个PDF实例
PdfDocument doc = new PdfDocument();
PdfDocument doc = new PdfDocument();
//加载PDF源文档
doc.loadFromFile("data/Sample.pdf");
//获取文档的第一页
PdfPageBase page = doc.getPages().get(0);
//删除第一页的第一张图
page.deleteImage(0);
doc.saveToFile("output/删除图片.pdf");
doc.close();
}
}
doc.loadFromFile("data/Sample.pdf");
//获取文档的第一页
PdfPageBase page = doc.getPages().get(0);
//删除第一页的第一张图
page.deleteImage(0);
doc.saveToFile("output/删除图片.pdf");
doc.close();
}
}
删除图片结果:
(本文完)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论