Docx для преобразования PDF в Java - PullRequest
3 голосов
/ 01 февраля 2012

Мне нужно иметь возможность конвертировать DOCX в PDF с использованием Java.Я попытался использовать docx4j , но, несмотря на то, что он достаточно хорош, у меня есть намного более сложный документ (форматирование), чем тот, с которым он может справиться.Я решил посмотреть, сможет ли PDF-принтер справиться с ними, и хотя они не идеальны, они приемлемы.Теперь я сталкиваюсь с проблемой автоматизации с использованием JAVA, и единственное решение, которое я нашел, это COM с MS Word (я пытался использовать Open Office API, он также не смог обработать форматирование docx).

Я нашел несколькоCOM сопоставления для Java, такие как jacob и пробовал их, но я не могу найти соответствующие COM-команды для Word для печати.Код, который я использую (я складываю несколько частей, которые я нашел через Интернет вместе):

        String sInputDoc = "fi.docx";
        boolean tVisible = false; 
        ActiveXComponent oWord = new ActiveXComponent("Word.Application"); 
        oWord.setProperty("Visible", new Variant(tVisible));
        Object oDocuments = oWord.getProperty("Documents").toDispatch(); 
        Object oDocument = Dispatch.call((Dispatch)oDocuments, "Open", sInputDoc).toDispatch();

        Dispatch oSelection = oWord.getProperty("Selection").toDispatch();
        Dispatch oFind = oWord.call(oSelection, "Find").toDispatch();
        Dispatch oWordBasic = (Dispatch) Dispatch.call(oWord, "WordBasic").getDispatch();
        Dispatch.call(oWordBasic, "FilePrint");

Этот код, однако, заставляет программу попытаться сохранить файл, а не распечатать (не знаю почему).

Теперь могут возникнуть вопросы: Как отправить операцию печати в Word?(Я провел свое исследование, но в большинстве случаев комментарии в основном являются открытыми словами и печатаются в pdf, но никогда КАК на самом деле печатать) Если есть лучшие варианты, какие они?Я рад работать со всем, что имеет бесплатную лицензию.

Заранее спасибо.

1 Ответ

0 голосов
/ 15 марта 2012

Вы можете попробовать комбинацию ODF Converter и JOD Converter.Конвертер ODF может обеспечить разумное преобразование DOCX в ODT, а Конвертер JOD может обеспечить разумный вывод ODT в pdf.Печать - это что-то другое, но я полагаю, что вам нужно было печатать только из-за того конкретного решения, которое вы пытались.

...