Как создать файл doc / docx вручную в java - PullRequest
0 голосов
/ 08 марта 2019

Я создаю файл DOCX с чистой строкой в ​​Java.Когда я отправляю электронное письмо о файле docx на мой телефон, файл не может быть открыт должным образом.

Мой код Java:

// creating a docx file
File wordFile = new File("myDocFile.docx");
wordFile.createNewFile();

 String title   = "my document title here";
 String content = "my document content here";

 // docx file content with Html
String fileStr = "<!DOCTYPE html><meta http-equiv=\"content-type\" " +
" content=\"application/msword; charset=UTF-8\">" + 
"<h1 style='text-align:center;'>" + title+ "</h1>" + content;

// writing fileStr in to docx file.
   Files.write(wordFile.toPath(), fileStr.getBytes("UTF-8"),
   StandardOpenOption.TRUNCATE_EXISTING);

Мой созданный файл docx не открывается в смартфоне,Как я могу сделать docx для чтения в смартфоне?

1 Ответ

3 голосов
/ 08 марта 2019

Здесь есть два простых заблуждения:

  • конечно, docx имеет открытый XML контент, но все же вам не следует пытаться создавать такие файлы вручную ,используйте разумную библиотеку, такую ​​как apache POI .Серьезно: вы начинаете с простого «тела», но все, что полезно в реальном мире, растет.Ваши требования быстро усложняются, а затем вы тратите много времени на повторную реализацию того, что такие библиотеки делают для вас.Повторное изобретение колес стоит дорого, особенно учитывая тот факт, что ваше колесо действительно будет отстой по сравнению с любой зрелой библиотекой для этой работы.
  • Как я могу читать docx для чтения вкаждый смартфон? Вы не можете.У вас есть нет контроля над «каждым» смартфоном в мире, поэтому вы не можете обеспечить, чтобы лицо, получающее ваш документ, могло его просматривать.

Короче говоря: весь ваш подход выглядит «сломанным по замыслу».Многим людям действительно не нравится, когда им отправляют «офисные» файлы (из соображений безопасности).

Итак, реальный ответ таков: сделайте шаг назад и оцените, какую информацию вы хотите «отправить», а затем выясните, как на самом деле работает для всех ваших пользователей.

Когда вы уже отправляете им электронные письма, подумайте над тем, чтобы вставить в них какой-нибудь старый добрый простой текст.В целом: отправка электронных писем с прикрепленными к ним файлами - это отличный способ раздражать ваших пользователей.Это должно быть ваше последнее средство, а не ваше первое.

...