iTEXT将html文档转PDF,spire.doc包html转word(包括样式修改和添加图片/页码等设置)

项目需求

使用velocity模板生成html内容,将含有标题 / 段落 / 表格 / 图片 的html文件转化成PDF和word格式,并保留良好样式。

iText

起初只想实现word功能,但经过尝试和查询一些例如poi等工具,都无法较好的保留原有的复杂样式,后更换pdf需求进行尝试,itext生成pdf已经非常完美了。
生成word样式没有尝试,感觉比较麻烦。
后来采用spire的free包将pdf转word样式保持很好,但是项目环境中遇到问题,转战html转word。
注意:不要将spire的pdf和word包同时引用,如果需要可以直接使用office包,会产生一些例如注册许可方面的冲突。

spire.pdf / spire.doc / spire.office

很好的第三方工具,能完美实现html转pdf和word等格式文件,最关键的是有free版本,虽然有10页的限制,结合需求页可能够用和付费版功能上无差别。
付费版本也一样可以用,只是会在左上角有红色警告信息,其实word可以手动删除,pdf可以通过添加图片的方式遮盖掉。
注意:我们的项目环境是Linux / jdk1.7 / weblogic12.1.3.0.0(pdf转word–使用doc包就会报错UnkownSource【原因不明】,最好直接html转word最终解决问题),html转word表头的css样式可能会无法解析,使用基本样式就好。

spire.pdf / spire.doc 冰蓝科技 中文文档

html转pdf

引入jar包

引入itext仓库
        <repository>
            <id>itext</id>
            <name>iText Repository - releases</name>
            <url>https://repo.itextsupport.com/releases</url>
        </repository>
在pom.xml引入maven(不包括spire.pdf)
         <!-- itextpdf -->
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext-rtf</artifactId>
            <version>2.1.7</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.10</version>
        </dependency>
        <!-- pdfHTML -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext7-core</artifactId>
            <version>7.1.0</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>html2pdf</artifactId>
            <version>2.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-io</artifactId>
            <version>1.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.xhtmlrenderer</groupId>
            <artifactId>flying-saucer-pdf</artifactId>
            <version>9.0.8</version>
        </dependency>
    </dependencies>
可以下载spire.pdf.free以及各种实用jar包的maven仓库

maven仓库(内含spire.pdf.free和spire.doc.free)

生成pdf

package com.sy.util;

import com.itextpdf.html2pdf.ConverterProperties;
import com.itextpdf.html2pdf.HtmlConverter;
import com.itextpdf.html2pdf.attach.impl.DefaultTagWorkerFactory;
import com.itextpdf.html2pdf.css.media.MediaDeviceDescription;
import com.itextpdf.html2pdf.css.media.MediaType;
import com.itextpdf.kernel.pdf.*;
import com.itextpdf.layout.font.FontProvider;
impor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值