springboot操作pdf(一)之word转pdf


前言

pdf文件,是现在市面上比较常使用的一种文件格式。其在传输的过程中文件格式以及内容不容易更改,因此受到很多用户的使用。但是在java开发的过程中如何生成pdf这却是一个需要我们去解决的问题。


一、PDF是什么?

在这里插入图片描述
PDF是电子书文件,一般用福特阅读器/WPS Office打开。

PDF是Portable Document Format(便携文件格式)的缩写,是一种电子文件格式,与操作系统平台无关,由Adobe 公司开发而成。PDF 文件是以PostScript语言图象模型为基础,无论在哪种打印机上都可保证精确的颜色和准确的打印效果。PDF将忠实地再现原稿的每一个字符、颜色以及图象。PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的。

这一性能使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件开始使用PDF格式文件。

PDF主要由三项技术组成:

· 衍生自PostScript,可以说是PostScript的缩小版;

· 字型嵌入系统,可使字型随文件一起传输;

· 资料压缩及传输系统。

PDF文件使用了工业标准的压缩算法,通常比PostScript文件小,易于传输与储存。它还是页独立的,一个PDF文件包含一个或多个“页”,可以单独处理各页,特别适合多处理器系统的工作。此外,一个PDF文件还包含文件中所使用的PDF格式版本,以及文件中一些重要结构的定位信息。正是由于 PDF文件的种种优点,它逐渐成为出版业中的新宠。

Adobe公司以PDF文件技术为核心,提供了一整套电子和网络出版解决方案,其中包括用于生成和阅读PDF文件的商业软件Acrobat和用于编辑制作PDF文件的Illustrator等。 Adobe还提供了用于阅读和打印亚洲文字,即中日韩文字所需的字型包。

Adobe公司设计PDF文件格式的目的是为了支持跨平台上的,多媒体集成的信息出版和发布,尤其是提供对网络信息发布的支持。为了达到此目的, PDF具有许多其他电子文档格式无法相比的优点。PDF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。

二、解决方案

1.方案一:使用POI工具,将word文件转化成pdf

1.1 导入依赖

<dependency>
	<groupId>fr.opensagres.xdocreport</groupId>
	<artifactId>fr.opensagres.poi.xwpf.converter.pdf-gae</artifactId>
	<version>2.0.1</version>
</dependency>

1.2 代码如下(示例)

public static void wordToPdf(String wordPath, String pdfPath) {
    
    
    try {
    
    

        FileInputStream fileInputStream = new FileInputStream(wordPath);
        XWPFDocument xwpfDocument = new XWPFDocument(fileInputStream);
        PdfOptions pdfOptions = PdfOptions.create();
        FileOutputStream fileOutputStream = new FileOutputStream(pdfPath);
        PdfConverter.getInstance().convert(xwpfDocument,fileOutputStream,pdfOptions);
        fileInputStream.close();
        fileOutputStream.close();
    } catch (FileNotFoundException e) {
    
    
        throw new RuntimeException(e);
    } catch (IOException e) {
    
    
        throw new RuntimeException(e);
    }
}

1.3 缺点

生成的pdf文件会出现,些许格式的不一致,但是不介意的可以使用

2.使用spire.doc.free将doc文件转化成pdf

2.1 导入依赖

<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.doc.free</artifactId>
    <version>5.2.0</version>
</dependency>

2.2 代码如下(示例)

public static void wordToPdf2(String wordPath, String pdfPath) {
    
    
    //实例化Document类的对象
    Document doc = new Document();
    //加载Word
    doc.loadFromFile(wordPath);
    //保存为PDF格式
    doc.saveToFile(pdfPath,FileFormat.PDF);
}

2.3 缺点

收费,只能免费转化前三页pdf。对于数据小的需求,可以进行满足。生成的pdf文件格式和原word文件对比,没有变化,因此强烈推荐使用


总结

将word转pdf,个人强烈推荐可以使用第二种方法将word文件生成pdf文件,想了解更多的使用方法,或者获取java代码都请关注公众号。

欢迎关注公众号‘CV算法小屋’

猜你喜欢

转载自blog.csdn.net/weixin_43228814/article/details/129776270
今日推荐