Android App中的Documents4j Java库将Docx转换为Pdf

问题描述

我正在尝试在Android App中使用Documents4j java library将Docx格式的文档转换为PDF文件,但输出的pdf文件已损坏或损坏。 输出的pdf文件为0字节,为空。 我正在使用以下代码将Docx转换为pdf。

    String uniqueString = UUID.randomUUID().toString();
    File outputFile = new File(Environment.getExternalStorageDirectory() + "/meer_"  + uniqueString+".pdf");

    File inputWord = new File(input);

    try  {
        InputStream docxInputStream = new FileInputStream(inputWord);
        OutputStream outputStream = new FileOutputStream(outputFile);
        IConverter converter = LocalConverter.builder().build();

        converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
        outputStream.close();
        System.out.println("success");
    } catch (Exception e) {
        e.printStackTrace();
    }


    if(outputFile.exists()){
        openPdf(outputFile);
    }

解决方法

documents4j 通过委派从Java应用程序到MS Word实例的转换来起作用。该实例可以在您可以通过HTTP(S)到达的服务器上运行,但是本地转换器当然不能在无法运行MS Word的Android上运行。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...