Java 將PDF 轉為Word、圖片、SVG、XPS、Html、PDF/A


本文將介紹通過Java編程來實現PDF文檔轉換的方法。包括:

1. PDF轉為Word

2. PDF轉為圖片

3. PDF轉為Html

4. PDF轉為SVG

    4.1 將PDF每一頁轉為單個的SVG

    4.2 將一個包含多頁的PDF文檔轉為一個SVG

5. PDF轉為XPS

6. PDF轉為PDF/A

 

使用工具:Free Spire.PDF for Java(免費版)

Jar文件獲取及導入:

方法1通過官網下載jar文件包。下載后,解壓文件,並將lib文件夾下的Spire.Pdf.jar文件導入Java程序。

方法2可通過maven倉庫安裝導入。參考導入方法

 

Java代碼示例

【示例1PDF Word

PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToWord.docx",FileFormat.DOCX);

【示例2PDF轉圖片

支持的圖片格式包括Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF等。這里以保存為Png格式為例。

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 = new PdfDocument("test.pdf");
BufferedImage image;
for(int i = 0; i< pdf.getPages().getCount();i++){
    image = pdf.saveAsImage(i);
    File file = new File( String.format("ToImage-img-%d.png", i));
    ImageIO.write(image, "PNG", file);
}
pdf.close();
    }
}

【示例3PDFHtml

PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToHTML.html", FileFormat.HTML);

【示例4PDFSVG

1.轉為單個svg

PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToSVG.svg", FileFormat.SVG);

2.多頁pdf轉為一個svg

PdfDocument pdf = new PdfDocument("sampe.pdf");
pdf.getConvertOptions().setOutputToOneSvg(true);
pdf.saveToFile("ToOneSvg.svg",FileFormat.SVG);

【示例5PDF XPS

PdfDocument pdf = new PdfDocument("test.pdf");
pdf.saveToFile("ToXPS.xps", FileFormat.XPS);

【示例6PDFPDF/A

import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfMargins;
import java.awt.geom.Dimension2D;

public class PDFtoPDFA {
    public static void main(String[]args){
        //加載測試文檔
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("test.pdf");

        //轉換為Pdf_A_1_B格式
        PdfNewDocument newDoc = new PdfNewDocument();
        newDoc.setConformance(PdfConformanceLevel.Pdf_A_1_B);
        PdfPageBase page;
        for ( int i=0;i< pdf.getPages().getCount();i++) {
            page = pdf.getPages().get(i);
            Dimension2D size = page.getSize();
            PdfPageBase p = newDoc.getPages().add(size, new PdfMargins(0));
            page.createTemplate().draw(p, 0, 0);
        }

        //保存結果文件
        newDoc.save("ToPDFA.pdf");
        newDoc.close();

    }
}

(本文完)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM