为了账号安全,请及时绑定邮箱和手机立即绑定

Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A

标签:
Java API

本文将介绍通过Java编程来实现PDF文档转换的方法。包括:

  • PDF转为Word

  • PDF转为图片

  • PDF转为Html

  • PDF转为SVG

  • 将PDF每一页转为单个的SVG

  • 将一个包含多页的PDF文档转为一个SVG

  • PDF转为XPS

  • 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();
 
     }
 }



(本文完)

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消