Java-библиотека Documents4j в приложении для Android для преобразования Docx в Pdf

Я пытаюсь использовать java-библиотеку Documents4j в своем приложении для Android, чтобы преобразовать документ формата 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);
    }

person Umair Mustafa    schedule 11.08.2020    source источник


Ответы (1)


Функция documents4j делегирует преобразование из приложения Java в экземпляр MS Word. Этот экземпляр может работать на сервере, доступ к которому можно получить через HTTP(S), но локальный преобразователь, конечно же, не будет работать на Android, который не может запускать MS Word.

person Rafael Winterhalter    schedule 13.08.2020
comment
Спасибо, что нашли время ответить! - person Umair Mustafa; 15.08.2020