Как использовать аргументы командной строки для печати файлов MS Office? - PullRequest
1 голос
/ 25 июня 2009

Мы создаем приложение для управления и печати файлов Word, Excel, PowerPoint и PDF ...

При печати пользователю не может быть показано приложение.

Для этого мы находим несколько аргументов командной строки, которые хорошо работают:

(используя openoffice.org)

"C:\Program Files\OpenOffice.org 3\program\soffice.exe" -norestore -nofirsts tartwizard -nologo -headless -pt MicrosoftXPSDocumentWriter doc1.doc

(используя мс слово)

"C:\Program Files\Microsoft Office\Office\WINWORD.EXE" doc1.doc /q /n /mFilePrintDefault /mFileExit

Но мы просто не можем найти никакой опции, чтобы установить диапазон страниц для печати ...

Возможно ли это? Другой вариант распечатать эти документы, ничего не показывая пользователю?

Спасибо за чтение.

любые идеи будут оценены

1 Ответ

3 голосов
/ 25 июня 2009

Я бы действительно переосмыслил создание этого приложения на Java. Если приложение предназначено для управления текстовыми документами, а ваше взаимодействие со словом состоит из предположения, что слово установлено на локальном компьютере, тогда java ничего не добавляет к участнику. Скорее всего, .NET - верный путь (где вы можете легко взаимодействовать с объектами office com, чтобы получить то, что вам нужно).

Как говорится, для открытого офиса посмотрите на open office SDK , который вы должны будете сделать как часть вашего установщика для этого приложения.

Для Microsoft Office я бы посмотрел на мост Java-COM (такой как Jacob) для вызова COM-объектов. Если это не вариант, вы можете в процессе установки установить макрос в Word, который вы можете вызвать с параметром / m, и передать нужные значения диапазона - но это будет очень уродливо и очень быстро.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...