Мне нужно иметь возможность конвертировать 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, но никогда КАК на самом деле печатать) Если есть лучшие варианты, какие они?Я рад работать со всем, что имеет бесплатную лицензию.
Заранее спасибо.