开发人员通常需要将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 PDF,PDF to HTML等。希望它能有所帮助。