温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java添加、提取、替换和删除PDF图片

发布时间:2020-06-25 20:33:23 来源:网络 阅读:524 作者:塑造神经元 栏目:编程语言

(一)简介

​ 这篇文章将介绍通过Java添加、提取、删除和替换PDF文档中的图片。

工具使用:
  • Free Spire.PDF for JAVA 2.4.4(免费版)

  • Intellij IDEA
Jar包导入:
  • 方式一:从官网获取Free Spire.PDF for Java之后解压,以下是三种在IDEA中快速打开Project Structure界面的方式;如下图:
    Java添加、提取、替换和删除PDF图片
    然后:① 选择“Modules”—“Dependencies”,添加外置jar包;② 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”;③ 勾选jar路径选项,点击”OK”/”Apply”;④ 导入完成。如下图:
    Java添加、提取、替换和删除PDF图片
  • 方式二:使用Maven配置导包。可以参考官方帮助文档。
主要参考使用的源文档截图:

Java添加、提取、替换和删除PDF图片

(二)JAVA 代码示例

1) 给PDF添加图片

import com.spire.pdf.*;
import com.spire.pdf.graphics.*;

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;
      //放置图片的位置
        page.getCanvas().drawImage(image, 420,100, width, height);
    }
}

结果:
Java添加、提取、替换和删除PDF图片

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/Sample.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);
            }
        }
    }
}

结果:
Java添加、提取、替换和删除PDF图片
Java添加、提取、替换和删除PDF图片

3)替换PDF中图片

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;

import java.io.IOException;

public class ReplaceImage {
    public static void main(String[] args) throws IOException {
    //创建一个PDF实例
        PdfDocument pdf = new PdfDocument();
    //加载PDF文档
        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");
    }
}

结果:
Java添加、提取、替换和删除PDF图片

4) 删除PDF中图片

import com.spire.pdf.*;
public class deleteImage {
    public static void main(String[] args) {
    //创建一个PDF实例
        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();
    }
}

结果:
Java添加、提取、替换和删除PDF图片
(本文完)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI