ITPub博客

首页 > 应用开发 > Java > Java 将PDF转为透明背景的图片

Java 将PDF转为透明背景的图片

原创 Java 作者:Mia张 时间:2021-11-05 16:58:29 0 删除 编辑

通过Java代码可将PDF文件格式转为png格式的图片,但是转换后的图片默认的都是带有白色背景的;如果不想图片带有背景,可在转换前通过调用PdfDocument. getConvertOptions().setPdfToImageOptions(int bgTransparentValue)方法设置图片背景透明度。下面是具体方法和步骤。

一、导入jar包

实现转换的方法需要在Java程序中导入Spire.Pdf.jar 4.11.1。可手动下载jar包,然后解压,找到lib文件夹下的jar文件,然后执行如下步骤导入:


如果是Maven程序,则在pom.xml进行如下配置,然后导入:

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>
<dependencies>
    <dependency>
        <groupId> e-iceblue </groupId>
        <artifactId>spire.pdf</artifactId>
        <version>4.11.1</version>
    </dependency>
</dependencies>

二、代码方法

代码步骤解析:

1. 实例化 PdfDocument 类的对象。

2. 调用 PdfDocument. loadFromFile( String filename)方法。

3. 调用 PdfDocument. getConvertOptions().setPdfToImageOptions( int bgTransparentValue)方法设置转换后的图片背景透明度。

4. for循环PDF每一页,使用PdfDocument.saveAsImage( int pageIndex)方法将PDF页面保存为图片。

 

Java代码完整示例

import com.spire.pdf.*;
 
 import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 
 public class PDFtoImage {
     public static void main(String[] args)throws IOException {
         //实例化PdfDocument类的对象,并加载PDF文档
         PdfDocument pdf = new PdfDocument();
         pdf.loadFromFile("input.pdf");
 
         //设置转换后的图片背景透明度为0
         pdf.getConvertOptions().setPdfToImageOptions(0);
 
         //遍历PDF每一页,保存为图片
         for (int i = 0; i < pdf.getPages().getCount(); i++)
         {
             BufferedImage image = pdf.saveAsImage(i);
             File file = new File( String.format("ToImage%d.png", i));
             ImageIO.write(image, "PNG", file);
         }
         pdf.close();
     }
 }

转换后的图片效果图:

其他注意事项

代码中的PDF文件路径和保存的图片路径为IDEA程序项目文件夹路径,如本次路径为F:\IDEAProject\Conversion_PDF\input.pdf 和F:\IDEAProject\Conversion_PDF\ToImage0.png 。文件路径可自定义。


—End—


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31499788/viewspace-2840859/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-10-27

  • 博文量
    166
  • 访问量
    146985