Подскажите, пожалуйста, с помощью чего нынче лучше делать отчеты в word

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
Здравствуйте!

Подскажите пожалуйста, с помощью чего сейчас (в 2021 году) лучше делать отчеты в ворд из домины.
Какие есть варианты.
В идеале чтобы потом работало и на mac os.

Отчет имеется ввиду договор и спецификация.
Спецификация содержит множество таблиц с картинками и текстом.
В частности это мебельные изделия цельные и модульные.

Заранее благодарю!
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
539
Java + какая-нибудь либа, если кроссплатформа.
Офисный пакет есть на macos, но сомневаюсь, что там можно так же через COM обращаться, либо другие грабли будут.
Word нужен для дальнейшего изменения?
apach poi:
vba, com подход, как обычно:
docx4j:
aspose:
just google
 
  • Нравится
Реакции: Иван Пахомов

garrick

Lotus Team
26.10.2009
1 367
152
BIT
363
Можно делать RTF файлы на Java. Открываться будет и в MS Office, и в OpenOffice/LibreOffice, и даже в Pages без проблем. Много разных библиотек, тот же iText (в старых версиях) умеет. Видел даже какие-то библиотеки для JavaScript.

В плане генерации кодом, удобнее всего HTML, можно даже на LotusScript принтами. HTML Тоже потом можно открыть в Word, но только таблицы надо делать с фиксированными размерами в пикселях, а то в Word на страницу умещаться не будет. Стили (CSS) не всякие можно использовать, тут экспериментировать нужно.

Про Apache POI и docx4j уже сказали выше - самые первые кандидаты на это дело. POI 4.1.1 в 11-й версии в клиенте уже есть в дистрибутиве.
 
  • Нравится
Реакции: Gandliar

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
Здравствуйте!

Подскажите пожалуйста, с помощью чего сейчас (в 2021 году) лучше делать отчеты в ворд из домины.
Какие есть варианты.
В идеале чтобы потом работало и на mac os.

Отчет имеется ввиду договор и спецификация.
Спецификация содержит множество таблиц с картинками и текстом.
В частности это мебельные изделия цельные и модульные.

Заранее благодарю!
aspose если надо "просто" с минимальным кодом и получением "любого" формата на выход

POI - это с фортелями (особенно в массовой подстановкой и навигацией по таблицам), хотя тоже можно много
docx4j - не работал с ним, но полагаю уровня POI
подозреваю как и POI не решает задачу выходного формата
VBA - очень медленно с кучей ограничений и проблемами блокировки файлов и "застревания" инстансов в памяти, могут выскакивать окошки (даже если не просишь)
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
363
VBA - очень медленно с кучей ограничений и проблемами блокировки файлов и "застревания" инстансов в памяти, могут выскакивать окошки (даже если не просишь)
Самое интересное, когда "невидимый" Word зависает и снять его можно только через Диспетчер задач, но сначала надо догадаться что же случилось и почему всё перестало работать.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
по интеграции всего перечисленного - либо аппсервер (я ставил локальный томкат) либо решение с рантаймом (описывал здесь)
в нотус/домину не рекомендую ничего тянуть!
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
539
Самое интересное, когда "невидимый" Word зависает и снять его можно только через Диспетчер задач, но сначала надо догадаться что же случилось и почему всё перестало работать.
а это потому что разработчик постоянно забывает закрывать процесс при ошибке, на худой конец хотя бы показать на экран.
Типичная ошибка.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
а это потому что разработчик постоянно забывает закрывать процесс при ошибке, на худой конец хотя бы показать на экран.
Типичная ошибка.
бывает и "без ошибки", просто ворд "хотел что-то сказать" (в обработчик ошибок не попадает), а показать не смог (по разным причинам)
а показывать при массовой обработке (да если ещё и на сервере) - это как-то....
 

Gandliar

Lotus Team
16.02.2004
564
26
BIT
110
aspose если надо "просто" с минимальным кодом и получением "любого" формата на выход

POI - это с фортелями (особенно в массовой подстановкой и навигацией по таблицам), хотя тоже можно много
docx4j - не работал с ним, но полагаю уровня POI
подозреваю как и POI не решает задачу выходного формата
VBA - очень медленно с кучей ограничений и проблемами блокировки файлов и "застревания" инстансов в памяти, могут выскакивать окошки (даже если не просишь)
aspose - платная штука? или есть варианты?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!