2008-10-14 5 views
1

У меня есть веб-приложение на основе J2EE, в котором при нажатии кнопки мне нужно создать текстовый файл с Java. Я хочу иметь возможность отправить команду печати этому файлу, чтобы файл печатался без того, чтобы пользователь открывал документ и выполнял его вручную.Как распечатать документ Word на Java без его открытия?

Может ли кто-нибудь рассказать мне, возможно ли это, и если да, то как действовать?

Заранее благодарен.

ответ

1

Легко сгенерировать файл. Взгляните на Apache POI, Java API для доступа к файлам формата Microsoft. На сайте представлено множество примеров.

О печати, я действительно не знаю, возможно ли это. Я думаю, вам всегда нужно открыть его на стороне клиента, чтобы распечатать его.

1

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

EDIT: Если вы можете использовать HTML, вы можете просто сделать

<script> 
function load() { 
window.print(); 
window.close(); 
} 
</script> 

и

<body onLoad="load()" ...> 

на всплывающем окне, чтобы открыть документ и распечатать его. А затем закройте всплывающее окно.

+0

Я действительно пытался это, но я чувствовал, что в окне док HTML, который выскакивает может быть раздражает .. . Есть ли способ избежать появления окна ... не уверен, что мой вопрос имеет смысл. – ria 2008-10-15 03:58:38

+0

его уродливый, но вы можете определить размер и место (координаты экрана) при открытии всплывающего окна. попробуйте открыть его за пределами экрана (например, x = -200 и y = -200 или больше, если окно больше. Я не знаю, используете ли вы небольшое окно, браузеры будут правильно печатать контент.) – 2008-10-16 19:27:35

0

Поскольку вы конкретно упоминаете Java как свою среду, вы можете принять во внимание OpenOffice или StarOffice - у них есть API, с которым намного проще разговаривать с Java, чем ActiveX или Word с дистанционным управлением.

Это не более тяжеловес, чем Слово. Ссылки и документы должны быть легко найти.

Я работал в компании, где мы использовали Remote-controlled-Word много и, наконец, переключились на StarOffice. Это не для печати, а для преобразования документа (например, из Word в HTML), но должно быть достаточно схожим.

Конечно, я говорю «старые версии Word», но мы обычно сталкивались с проблемой блокировки Word с помощью какого-либо произвольного диалога, запрашивающего подтверждение того, что нашел Word - операция, которую наш сервер (работает в фоновом режиме без Рабочий стол), очевидно, не смог. После переключения на StarOffice это значительно улучшилось.

0

Возможно ли сделать документ в HTML? Если бы вы могли это сделать, вы могли бы позволить пользователям печатать через браузер достаточно просто. У вас также может быть более легкое время с PDF-файлами, по крайней мере, он будет более доступен на разных платформах.

Если вы вынуждены использовать MS Word, вы будете очень ограничены в том, что вы можете сделать. Как упоминалось в Leonel, я думаю, что ActiveX будет вашим единственным выбором, и даже тогда документ нужно будет открыть, вы просто сможете запустить Word из браузера автоматически. Возможно, вы даже сможете внедрить экземпляр Word в IE через ActiveX, но я не уверен в этом на 100%.

1

Вы можете использовать простой код AutoIt всего 2 строки. И выполните свою работу, выполнив этот файл кода в своей программе.

http://www.autoitscript.com/site/autoit/

Как этот код:

$sRTFfilename = "C:\t\t.rtf" ;Change this path to one of your own 
ShellExecute('"' & $sRTFfilename & '"', "", @ScriptDir, "print", @SW_HIDE) 

;-)

 Смежные вопросы

  • Нет связанных вопросов^_^