Java:将PDF转换为JPG,PNG,TIFF和SVG中的图像
#java #免费的 #pdf #image

开发人员通常需要将PDF页面转换为图像,因为图像难以编辑并且易于查看。在 Spire.PDF for java的帮助下,我们可以轻松地将PDF文件转换为Java应用程序中高质量的图像。在本文中,我们将解释将PDF文档转换为位图图像和矢量图像的解决方案:

Convert PDF to PNG
Convert PDF to JPG in Java
Convert PDF to SVG
Convert PDF to TIFF

为Java安装Spire.pdf

首先,您需要将spire.pdf.jar文件添加为Java程序中的依赖项。可以从PDF API下载JAR文件。如果使用Maven,则可以通过将以下代码添加到项目的pom.xml文件中轻松地导入JAR文件。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>9.6.2</version>
    </dependency>
</dependencies>

将特定的PDF页面转换为PNG

spire.pdf为Java提供的pdfdocument.saveasimage()方法可以将特定页面从pdf文档转换为bufferedimage对象,可以将其保存在.jpg或.png格式中。以下是将PDF文档的特定页面转换为PNG图像文件的步骤。

import java.awt.image.BufferedImage;
import java.io.File;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.PdfImageType;
import javax.imageio.ImageIO;

public class ParticularPDFToImage {
    public static void main(String[] args) throws Exception {

        //Create a PdfDocument instance
        PdfDocument pdf = new PdfDocument();

        //Load a PDF sample document
        pdf.loadFromFile("sample.pdf");

        //Convert the first page to an image and set the image Dpi
        BufferedImage image= pdf.saveAsImage(0, PdfImageType.Bitmap,500,500);

        //Save the image to another file as a .png format
        ImageIO.write(image, "PNG", new File("output/ToPNG.png"));
    }
}

将所有PDF页面转换为JPEG

这是将PDF转换为JPEG的步骤。

  • 创建一个pdfdocument对象。
  • 使用pdfdocument.loadfromfile()方法加载PDF文件。
  • 遍历PDF文档的每个页面。
  • 使用pdfdocument.saveasimage()方法。
  • 使用imageio.write()方法将图像数据写成.jpeg文件。
import java.awt.image.BufferedImage;
import java.io.File;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.graphics.PdfImageType;
import javax.imageio.ImageIO;


public class WholePDFToImages {
    public static void main(String[] args) throws Exception {

        //Create a PdfDocument instance
        PdfDocument pdf = new PdfDocument();

        //Load a PDF sample document
        pdf.loadFromFile("sample.pdf");

        //Loop through every page
        for (int i = 0; i < pdf.getPages().getCount(); i++) {
            //Convert all pages to images and set the image Dpi
            BufferedImage image = pdf.saveAsImage(i, PdfImageType.Bitmap,500,500);
            //Save images to a specific folder as a .png files
            File file = new File("output" + "/" + String.format(("ToImage-img-%d.jpg"), i));
            ImageIO.write(image, "JPEG", file);
        }
        pdf.close();
    }
}

将PDF转换为SVG

svg,用于可伸缩矢量图形的缩写,是基于XML的矢量图像格式,用于二维图形。矢量图像文件(例如SVG和PDF文件)非常相似。他们可以以相同的外观显示文本,图像和其他元素,并保持定义,无论您如何缩放它们。 spire.pdf提供 pdfdocument.savetofile()将PDF转换为SVG的方法。

import com.spire.pdf.*;

public class PDFtoSVG{
    public static void main(String[] args) throws Exception {

        //Create an object of Document class
        PdfDocument pdf = new PdfDocument();

        //Load a PDF document from disk
        pdf.loadFromFile("Sample.pdf");

        //Convert the document to SVG and Save it
        pdf.saveToFile("output/PDFtoSVG.svg", FileFormat.SVG);
    }
}

将PDF转换为TIFF

标记图像文件格式的

tiff拍摄,是一种相对灵活的图像格式,其优点是不需要特定的硬件,并且具有便携式。 spire.pdf提供 pdfdocument.savetotiff(字符串tifffilename)将PDF页面保存为TIFF映像的方法。

import com.spire.pdf.PdfDocument;


public class PDFtoTIFF{
    public static void main(String[] args) throws Exception {

        //Create a PdfDocument instance
        PdfDocument pdf = new PdfDocument();

        //Load a PDF sample document
        pdf.loadFromFile("sample.pdf");

        //Save all pages of the document to Tiff
        pdf.saveToTiff("output/PDFtoTiff.tiff");
    }
}

结论

在本文中,您已经学会了如何将PDF页面转换为Java中的图像。此外,spire.pdf还支持convert HTML to PDFPDF to HTML等。希望它能有所帮助。