2013-02-13 2 views
2

я создал некоторые Java-код, который позволяет мне печатать PNG, PDF, JPG т.д., но я застрял на DOCX файлов и, возможно, другие типы файлов,Как распечатать файл DOCX в java?

В настоящее время я использую код ниже:

if (extension.equals("txt")) { 
      psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE; 
     } else if (extension.equals("png")) { 
      psInFormat = DocFlavor.INPUT_STREAM.PNG; 
     } else if (extension.equals("gif")) { 
      psInFormat = DocFlavor.INPUT_STREAM.GIF; 
     } else if (extension.equals("jpg")) { 
      psInFormat = DocFlavor.INPUT_STREAM.JPEG; 
     } else if (extension.equals("pdf")) { 
      psInFormat = DocFlavor.INPUT_STREAM.PDF; 
     } 

, чтобы определить, какой тип файла должен создать ps правильного входного потока для этого типа документа, могу ли я изменить этот код для включения файлов doc?

+0

Моим подходом было бы посмотреть, можете ли вы программно использовать OpenOffice, чтобы преобразовать '.docx' в' .pdf', а затем распечатать это напрямую. – millimoose

+0

Спасибо, я могу распечатать pdf-файлы, но, к сожалению, для этой программы одним из основных требований является распечатка файлов doc. – user2065929

+0

Вот почему я сказал ** конвертировать ** документы в PDF-файлы. Я имел в виду, что вы сделаете это по требованию из своего приложения. OpenOffice должен быть автоматическим, позволяя вам вызывать его функции из Java (или C++), но, к сожалению, это примерно то, насколько я знаю об этом. Я предложил это, потому что все остальные ответы просто указывают вам на библиотеки, которые анализируют 'docx' в структуру данных, которые могут позволить вам легко изменять существующие документы, но далеко от фактической печати. – millimoose

ответ

2

лучший ответ, чем POI является использование docx4j

http://www.docx4java.org/trac/docx4j

Причина этого в том, что у нее есть все API, необходимые для доступа к различным части пакета docx.

+0

Спасибо лот, заглянем в него – user2065929

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