栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

iText7-pdfoffice-office文件转pdf

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

iText7-pdfoffice-office文件转pdf

接到一个java后台实现excel转pdf的需求,多方辗转查阅文档后,最终用iText7的pdfoffice拓展模块实现了最完美的效果,记录如下。

pom引入依赖包,由于pdfoffice是收费模块,官方未发布到maven中心仓库,我把自己下载的依赖放到了这里,需要的自取。


    com.itextpdf
    itext7-core
    7.2.2
    pom


    com.itextpdf
    pdfoffice
    2.0.2

代码实例

package top.yjltf.excel;
import com.itextpdf.commons.actions.ProductNameConstant;
import com.itextpdf.pdfoffice.OfficeConverter;
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;

public class PdfOffice {
    private static String excelPath = "E:\test\test.xlsx";
    private static String pdfPath = "E:\test\test.pdf";
    public static void main(String[] args) throws Exception {
        //权限破解
        Field field = ProductNameConstant.class.getDeclaredField("PRODUCT_NAMES");
        field.setAccessible(true);
        Field modifiers = field.getClass().getDeclaredField("modifiers");
        modifiers.setAccessible(true);
        modifiers.setInt(field, field.getModifiers() & ~Modifier.FINAL);
        field.set(ProductNameConstant.class, Collections.unmodifiableSet(new HashSet(Arrays.asList("itext-core", "pdfHtml", "pdfSweep", "pdfOcr-tesseract4", "pdfOffice"))));
        //excel转pdf
        OfficeConverter.convertOfficeSpreadsheetToPdf(new File(excelPath), new File(pdfPath));
    }
}

注:由于pdfOffice属于收费模块,这里用了一些其他手段达到了可用的目的,仅供学习参考,商用后果自负。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998843.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号