pdf 文件是文件共享的理想选择,并保证文档中的内容将在不进行更改的情况下正确显示跨设备。但是,有时候将PDF文档转换为单个图像文件是有利的。例如,将PDF转换为JPG 文件使您可以降低文档的整体大小。这意味着您更容易将文件传输给另一个人,将其上传到网站等。
在本文中,我将向您展示如何使用Spire.PDF for Java库中的将PDF转换为PNG,JPG,SVG和TIFF 。 >
- Convert PDF to PNG in Java
- Convert PDF to JPG in Java
- Convert PDF to SVG in Java
- Convert PDF to TIFF in Java
添加spire.pdf.jar作为依赖关系
如果您正在从事Maven项目,则可以使用以下方式将依赖项包括在pom.xml文件中:
<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>8.11.0</version>
</dependency>
</dependencies>
如果您不使用Maven,则可以从this location中的zip文件中找到所需的JAR文件。将所有JAR文件包括在应用程序LIB文件夹中以运行本教程中给出的示例代码。
将PDF转换为Java的PNG
PNG文件是保存在便携式网络图形(PNG)格式中的图像,通常用于存储具有透明背景的Web图形,数字照片和图像。以下是使用java的spire.pdf将PDF文档转换为多个PNG图像文件的步骤。
- 创建 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() methot。 加载PDF文件。
- 通过将0传递到 pdfdocument.getConvertOptions()。setpdftoimageOptions() methot。
- 遍历文档中的页面,并使用 pdfdocument.saveasimage(pageIndex) methot。 将特定页面保存为缓冲图像。
- 使用 imageio.write()方法将图像数据写入PNG文件。
import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
public class ConvertPdfToTransparentPng {
public static void main(String[] args) throws Exception{
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Load a sample PDF document
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//Make background transparent
doc.getConvertOptions().setPdfToImageOptions(0);
//Declare a BufferedImage variable
BufferedImage image;
//Loop through the pages
for (int i = 0; i < doc.getPages().getCount(); i++) {
//Save the current page as a buffered image
image = doc.saveAsImage(i);
//Write the image data as a .png file
File file = new File("C:\\Users\\Administrator\\Desktop\\Output\\" + String.format("ToImage-%d.png", i));
ImageIO.write(image, "png", file);
}
doc.close();
}
}
将PDF转换为JPG在Java中
JPG文件是一种以JPEG格式保存的栅格图像,通常用于存储由图像编辑软件创建的数字照片和图形。以下是使用java的spire.pdf将PDF文档转换为单个JPG文件的步骤。
- 创建 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() methot。 加载PDF文件。
- 遍历文档中的页面,并使用 pdfdocument.saveasimage(pageIndex) methot。 将特定页面保存为缓冲图像。
- 使用 imageio.write()方法将图像数据写入JPG文件。
import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ConvertPdfToJpg {
public static void main(String[] args) throws IOException {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Load a sample PDF document
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//Declare a BufferedImage variable
BufferedImage image;
//Loop through the pages
for (int i = 0; i < doc.getPages().getCount(); i++) {
//Save the current page as a buffered image
image = doc.saveAsImage(i);
//Re-create a buffered image
BufferedImage newImg = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
newImg.getGraphics().drawImage(image, 0, 0, null);
//Write the image data as a .jpg file
File file = new File("C:\\Users\\Administrator\\Desktop\\Output\\" + String.format("ToImage-img-%d.jpg", i));
ImageIO.write(newImg, "JPG", file);
}
doc.close();
}
}
将PDF转换为Java中的SVG
SVG是可扩展的向量图形。这意味着可以将图形缩放到任何尺寸而不会失去质量。以下是使用java的spire.pdf将PDF文档转换为单个或几个单独的SVG文件的步骤。
- 创建 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() methot。 加载PDF文件。
- 使用 pdfdocument.savetofile()方法将每个页面保存为单个SVG文件。
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
public class ConvertPdfToSvg {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();
//Load a sample PDF document
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//If you want the PDF document to be converted as a single SVG file, pass true to setOutputToOneSvg() method
//doc.getConvertOptions().setOutputToOneSvg(true);
//Save each page as an individual SVG file
doc.saveToFile("C:\\Users\\Administrator\\Desktop\\Output\\ToSVG.svg", FileFormat.SVG);
doc.close();
}
}
将PDF转换为Java的TIFF
tiff是一种文件类型,最好用于需要编辑的高质量图像。 TIFF文件很大,因此它们不适合在线共享。从TIFF到PDF的转换仅需要3行代码,如下所示。
- 创建 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() methot。 加载PDF文件。
- 使用 pdfdocument.savetotiff()方法将PDF文件保存到TIFF。
import com.spire.pdf.PdfDocument;
public class ConvertPdfToTiff {
public static void main(String[] args) {
//Create a PdfDocument instance
PdfDocument pdf = new PdfDocument();
//Load a PDF document
pdf.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//Convert the entire PDF document to TIFF
pdf.saveToTiff("C:\\Users\\Administrator\\Desktop\\Output\\PDFtoTiff.tiff");
}
}