Как работать с файлами .doc

Мне нужно создать небольшое настольное приложение на Java, которое создает для меня файл .doc и записывает в него немного текста. Я нашел интересный инструмент под названием Aspose, но я увидел, что он вовсе не бесплатный. Знаете ли вы, какой Java API я могу использовать для этого (бесплатно)? Можно ли это сделать только с библиотеками java SE? Как вы думаете, какой самый простой и быстрый способ достичь этой цели?


person javing    schedule 01.03.2011    source источник


Ответы (4)


Я предлагаю вам ознакомиться с инфраструктурой POI Apache, в частности с HWPF — Java API для обработки файлов Microsoft Word:

HWPF — это название нашего переноса формата файлов Microsoft Word 97 (-2007) на чистую Java. Он также предоставляет ограниченную поддержку только для чтения для старых форматов файлов Word 6 и Word 95.

person aioobe    schedule 01.03.2011
comment
Я нахожусь на странице poi.apache.org, но где я не могу найти файлы .jar для добавления в свой проект, чтобы иметь возможность начать использовать эти классы? - person javing; 01.03.2011

если вы собираетесь использовать .doc, то в качестве учебного упражнения откройте документ Word с некоторым содержимым (в идеале похожим на то, что вы хотите создать), затем сохраните его как XML и просмотрите содержимое.

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

person Randy    schedule 01.03.2011
comment
Я пытался сохранить как .xml в Microsoft Office 2007, но у меня нет такой возможности? - person javing; 01.03.2011
comment
Извините за этот последний комментарий, я только что узнал, как сохранить в формате Word XML. Tnx - person javing; 01.03.2011

Под файлом .doc я полагаю, вы имеете в виду Microsoft Office? Чтение и запись форматов файлов Office — это что-то вроде черной магии. Должен ли это быть файл в формате .doc? Гораздо проще было бы написать файл в формате Rich Text Format (.rtf), который мог бы загрузить Word.

person DavidK    schedule 01.03.2011
comment
Да, в этом случае это должен быть .doc из офиса - person javing; 01.03.2011

И если вам нет необходимости использовать .doc, я бы посоветовал вам использовать .odt, http://www.jopendocument.org/.

person ejohansson    schedule 01.03.2011