将文档从一种格式转换为另一种格式是Spire.PDF的主要功能之一。这种转换只不过是加载和保存操作的组合。因此,使用Spire.PDF可以将文档从任何受支持的加载格式转换为任何受支持的保存格式。
本文整理了包括在Java中以下文件格式的转换指南,希望对您有所帮助:
PDF转换为图像以及图像转换为PDF
将PDF转换为PDF / A
将PDF转换Word
将PDF转换为HTML以及HTML转换为PDF
将PDF转换为SVG
将PDF转换为XPS并将XPS转换为PDF
将PDF转换为Excel
>>你可以下载Spire.PDF for Java测试体验。
(篇幅较长,建议收藏阅读)
PDF转换为图像以及图像转换为PDF
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;
public class toImage {
public static void main(String[] args) throws IOException {
//load the sample PDF
PdfDocument doc = new PdfDocument();
doc.loadFromFile("Sample.pdf");
//save every PDF to .png image
BufferedImage image;
for (int i = 0; i < doc.getPages().getCount(); i++) { image = doc.saveAsImage(i); File file = new File( String.format("ToImage-img-%d.png", i)); ImageIO.write(image, "PNG", file); } doc.close(); } }
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfImage;
public class ImageToPDF {
public static void main(String[] args){
//Create a PdfDocument instance
PdfDocument pdf = new PdfDocument();
//Add a page
PdfPageBase page = pdf.getPages().add();
//Load the image
PdfImage image = PdfImage.fromFile("Hydrangeas.jpg");
//Draw the image to the specific rectangular area of the page
double widthFitRate = image.getPhysicalDimension().getWidth() / page.getCanvas().getClientSize().getWidth();
double heightFitRate = image.getPhysicalDimension().getHeight() / page.getCanvas().getClientSize().getHeight();
double fitRate = Math.max(widthFitRate, heightFitRate);
double fitWidth = image.getPhysicalDimension().getWidth() / fitRate;
double fitHeight = image.getPhysicalDimension().getHeight() / fitRate;
page.getCanvas().drawImage(image, new Rectangle2D.Double(0, 0, fitWidth, fitHeight));
//Save the resultant document
pdf.saveToFile("ConvertImageToPDF.pdf");
}
}
将PDF转换为PDF / A
import com.spire.pdf.PdfConformanceLevel;
import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfNewDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.PdfMargins;
import java.awt.geom.Dimension2D;
public class PDFToPDFA {
public static void main(String[] args)
{
//Load pdf file
PdfDocument document = new PdfDocument();
document.loadFromFile("Sales Report.pdf");
//Convert to Pdf_A_1_B
PdfNewDocument newDoc = new PdfNewDocument();
newDoc.setConformance(PdfConformanceLevel.Pdf_A_1_B);
for (PdfPageBase page : (Iterable) document.getPages()) {
Dimension2D size = page.getSize();
PdfPageBase p = newDoc.getPages().add(size, new PdfMargins(0));
page.createTemplate().draw(p, 0, 0);
}
//Save the file
newDoc.save("Output.pdf");
newDoc.close();
}
}
将PDF转换Word
import com.spire.pdf.*;
public class PdfToDoc {
public static void main(String[] args) {
//create a PdfDocument object
PdfDocument doc = new PdfDocument();
//load a sample PDF file
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Introduction of Spire.PDF for Java.pdf");
//save as .doc file
doc.saveToFile("output/ToDoc.doc",FileFormat.DOC);
//save as. docx file
doc.saveToFile("output/ToDocx.docx",FileFormat.DOCX);
doc.close();
}
}
将PDF转换为HTML以及HTML转换为PDF
import com.spire.pdf.*;
public class PDFConversion {
public static void main(String[] args) {
//Load the PDF file
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("New Zealand.pdf");
//Save to HTML format
pdf.saveToFile("ToHTML.html", FileFormat.HTML);
}
}
import com.spire.pdf.graphics.PdfMargins;
import com.spire.pdf.htmlconverter.qt.HtmlConverter;
import com.spire.pdf.htmlconverter.qt.Size;
public class HtmltoPDF {
public static void main(String[] args) {
//define the HTML link and result PDF
String url = "https://www.e-iceblue.com/";
String fileName = "Result.pdf";
//Set the plugin path
String pluginPath = "D:/Qt/plugins_32";
HtmlConverter.setPluginPath(pluginPath);
//convert HTML to PDF and set the size of the result PDF page
HtmlConverter.convert(url, fileName, true, 1000000, new Size(600f, 900f), new PdfMargins(0));
}
}
将PDF转换为HTML以及HTML转换为PDF
import com.spire.pdf.*;
public class PDFConversion {
public static void main(String[] args) {
//Load the PDF file
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Input.pdf");
//Save to SVG image
pdf.saveToFile("ToSVG.svg", FileFormat.SVG);
pdf.close();
}
}
将PDF转换为XPS并将XPS转换为PDF
import com.spire.pdf.*;
public class PDFtoXPS {
public static void main(String[] args) {
//Load the PDF file
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Sample.pdf");
//Save to XPS
pdf.saveToFile("ToXPS.xps", FileFormat.XPS);
}
}
import com.spire.pdf.*;
public class PDFtoXPS {
public static void main(String[] args) {
//Load XPS
PdfDocument pdf = new PdfDocument();
pdf.loadFromXPS("ToXPS.xps");
//Save to PDF
pdf.saveToFile("toPDF.pdf", FileFormat.PDF);
}
}
将PDF转换为Excel
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
public class ToXLS {
public static void main(String[] args) {
//Create a PdfDocument object
PdfDocument pdf = new PdfDocument();
//Load a sample PDF file
pdf.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.pdf");
//Save to Excel
pdf.saveToFile("output/ToXLS.xlsx", FileFormat.XLSX);
}
}