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

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

一、导入jar包

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


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


        
            com.e-iceblue
            https://repo.e-iceblue.cn/repository/maven-public/
        
    

    
         e-iceblue 
        spire.pdf
        4.11.1
    

二、代码方法

代码步骤解析:

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—


请使用浏览器的分享功能分享到微信等