Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
Oracle

Создание документов средствами JAVA

16.10.2017, 10:34. Показов 4062. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
У меня уже есть тема, но там никто не ответил, а как ее переместить-не знаю...
Ссылка на тему:
Oracle и JAVA

Дублирую тему в цитате:

Цитата Сообщение от Electroflower Посмотреть сообщение
Добрый день!
У меня появился такой вопрос, связанный с формированием *.pdf-документов средствами JAVA и установкой различных библиотек и api.
Например, чтобы получить Excel -документ мы можем воспользоваться Apache POI,
Я так подозреваю, что таким же образом можно сформировать и PDF документ, используя iText, так? - это первый вопрос.
Если ответ на первый вопрос "да", то вопрос второй: можно ли при формировании *.pdf средствами JAVA и библиотеки iText
подтягивать данные из базы и прописывать в этот будущий *.pdf?
Вопрос третий: куда на сервере БД ставить библиотеки и API чтобы JAVA машина видела их, а то подключаю и ругается...
Спасибо за внимание, если что не так пишу-поправьте)
Кто-нибудь точно сталкивался, помогите, пожалуйста...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.10.2017, 10:34
Ответы с готовыми решениями:

Создание объектов средствами Java без оператора new
Доброго времени суток. Недавно столкнулся с вопросом - можно ли создать объект в Java-программе, используя только стандартные...

Java и форматирование документов Word
Всем привет! Задача: 1) заполнение отформатированными данными (выделение шрифтами, н-р); 2) распечатка документа. Вопрос: Каким...

java и xml.Импорт документов.
Это опять я)) Задача немного поменялась Нужно создать класс на java, который будет принимать xml документ с данными и выполнять...

19
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.10.2017, 11:55
Можно использовать itext для формирования документов, но делать сложные документы непросто. (к тому же, если предполагается исползовать для бизнеса, надо учитывать лицензию itext - она какая-то мутная)
Обычно хотят делать шаблончики в ворде и заполнять их данными. Для этого единственное бесплатное решение, которое я знаю - libreoffice. Однако, это довольно гемморойная штуковина.
Цитата Сообщение от Electroflower Посмотреть сообщение
куда на сервере БД ставить библиотеки и API чтобы JAVA машина видела их, а то подключаю и ругается...
на сервере БД должна быть БД, какое к этому отношение имеет джава - не ясно. Если джава и БД расположены на разных нодах, надо настраивать сеть.
1
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
16.10.2017, 15:41  [ТС]
xoraxax, ну да, там что-то типа типовых документов, я просто пытаюсь выбрать решения какие-то.
Либо же сначала возиться с шаблоном и потом без проблем его заполнять, либо же конвертировать rtf в pdf, потому что нужный отчет есть в rtf, по сути осталось его конвертировать, и он конвертируется, но кривовато, там все данные съезжают относительно таблицы...
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
16.10.2017, 16:00
Цитата Сообщение от Electroflower Посмотреть сообщение
Либо же сначала возиться с шаблоном и потом без проблем его заполнять, либо же конвертировать rtf в pdf, потому что нужный отчет есть в rtf, по сути осталось его конвертировать, и он конвертируется, но кривовато, там все данные съезжают относительно таблицы...
Ну я уже вроде предлагал попробовать сконвертить руками, и посмотреть, как oo вообще в принципе работает с этим документом. Word и OO могут по-разному понимать документы. Если из ui конвертит нормально, то можно подбирать какие-то параметры конвертера, которые могут влиять на результат. Если нет - то, очевидно, остается менять шаблон, либо искать какой-то другой конвертер (опять же из бесплатных ничего толкового не встречал)
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
16.10.2017, 17:03
Вопрос возможно не в тему (ибо не уверен, что врубился), но если проблема с заполнением данных в PDF, почему не модифицировать RTF и только потом не перевести результат в PDF?
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
16.10.2017, 17:44
Kukstyler, все очевидное просто - конвертация разного рода доков в pdf на java - это как посадить обезьяну перерисовывать микеланджело

Цитата Сообщение от xoraxax Посмотреть сообщение
Word и OO могут по-разному понимать документы. Если из ui конвертит нормально, то можно подбирать какие-то параметры конвертера, которые могут влиять на результат. Если нет - то, очевидно, остается менять шаблон, либо искать какой-то другой конвертер (опять же из бесплатных ничего толкового не встречал)
согласен, единственный адекватный конвертер который я видел - MS Word

Electroflower, а вообще попробуй xdocreport, я им делаю docx или excel с velocity разметкой, работает как пушка, да и конвертит лучше всех в pdf, правда придется поиграться в некоторых случаях со шрифтами и разметкой документа, единственное что я не смог победить - это запись на фарси (с права на лево пишут, арабская вязь), которая расположена не горизонтально, а вертикально.

Добавлено через 54 секунды

Не по теме:

если что про арабов - с террористами не связан :D

0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
16.10.2017, 17:51
LeX, я всегда делал всё на уровне документа, а конвертацию в PDF через, на пример, тот же PDF Creator, который проживает в системе как принтер, и пашет достаточно хорошо (естественно бесплатный). Правда всё это не в Java, но думаю, значения не имеет. Если есть (качественная) возможность работать с документом исходником (RTF/doc/docx и .т.д), а судя по всему, Apache POI таковой считаться может, то думаю конвертация через виртуальный принтер уже отформатированного документа в PDF неплохая опция.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
16.10.2017, 17:56
Kukstyler, pdf creator на линуксовом серваке?) к тому же через файловую систему при ответе на веб запрос?) сильно)))))))))

я всегда стараюсь отдавать docx/excel/odf и т.д. без конвертации, но бывают требования от системы отдавать только pdf
0
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
16.10.2017, 18:01
LeX, я про Windows конечно. А у Linux-оидов вроде есть возможность прямой печати в файл в формате PDF (у Ubuntu вроде точно была).

А касаемо запроса, можно же сначала сохранить файл а потом выдать его.

Не, возможно я пургу несу, т.к. такого не воротил, но по-этому и заинтересовался.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
16.10.2017, 18:05
Kukstyler, не надо так извращаться, я про печать

а про файловую систему, лучше избегать, т.к. ты как разработчик никогда не можешь быть на 100% уверен что файловая система тебе доступна полностью на конкретной машине, где развернуто приложение, тем более уж виртуальный принтер
1
 Аватар для Kukstyler
1260 / 870 / 268
Регистрация: 02.04.2009
Сообщений: 3,307
16.10.2017, 18:09
Цитата Сообщение от LeX Посмотреть сообщение
а про файловую систему, лучше избегать
Не мой день видать... А как тогда с теми-же rtf/doc файлами работать? Я так понимаю, если даже они где-то в БД, их сначала экспортируем в какой-то temp? Ход мысли был в этом плане, мол принт в temp.

Ну, в общем понятно, что мой "новаторский" подход не то, что нужно.
0
Эксперт Java
378 / 370 / 114
Регистрация: 30.06.2010
Сообщений: 1,445
16.10.2017, 20:24
Kukstyler, все хранится в памяти, чтение и запись на потоках
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
16.10.2017, 21:37
Electroflower, если есть возможность генерировать PDF на основании данных из БД, лучше делать так, а не конвертировать разные форматы. Для построения PDF есть Jasper report. При наличии прямых рук, можно сделать довольно сложные PDF документы без миллиона строк кода.
0
16.10.2017, 21:47

Не по теме:

Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Electroflower, если есть возможность генерировать PDF на основании данных из БД, лучше делать так, а не конвертировать разные форматы. Для построения PDF есть Jasper report. При наличии прямых рук, можно сделать довольно сложные PDF документы без миллиона строк кода.
угу остается убедить заказчика научиться писать отчеты

0
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
24.10.2017, 15:05  [ТС]
Kukstyler, вся фишка в неожиданности результата, да, можно тогда подавать другой rtf на вход на конвертацию, но сейчас на конвертацию подается так сказать нормальный (не кривой) rtf, а вот уже pdf получается кривой, то есть логично придется подавать какой-то нелепый rtf, чтобы получить прямой pdf.
Была реализована конвертация rtf в pdf у меня, но вот работала пока там не появились таблицы и вертикальный текст..
0
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
24.10.2017, 15:13  [ТС]
LeX,
Цитата Сообщение от LeX Посмотреть сообщение
единственное что я не смог победить - это запись на фарси (с права на лево пишут, арабская вязь), которая расположена не горизонтально, а вертикально.
вот и у меня все конвертилось хорошо, но вот появилися таблицы и вертикальный текст..даже не вертикальный, а правильнее даже сказать направление текста как на картинке:
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
24.10.2017, 15:50
Цитата Сообщение от Electroflower Посмотреть сообщение
вот и у меня все конвертилось хорошо, но вот появилися таблицы и вертикальный текст..даже не вертикальный, а правильнее даже сказать направление текста как на картинке:
oo свои документы норм конвертит, вордовские ломаются, поэтому готовить документы надо в oo.
0
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
24.10.2017, 16:02  [ТС]
xoraxax,
Цитата Сообщение от xoraxax Посмотреть сообщение
oo свои документы норм конвертит, вордовские ломаются, поэтому готовить документы надо в oo.
да, но фишка в том что rtf у меня тоже делается не руками, а создается через пакет, туда тянутся данные из базы, так что как-то не очень вариант...

Добавлено через 7 минут
xoraxax, хотя и в первом случае у меня без ОО не обошлось:
Java
1
2
3
4
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
import com.artofsolving.jodconverter.DocumentConverter;
Но вот с таблицами и вертикальным текстом просто упирается и все...
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
24.10.2017, 16:06
Цитата Сообщение от Electroflower Посмотреть сообщение
да, но фишка в том что rtf у меня тоже делается не руками, а создается через пакет, туда тянутся данные из базы, так что как-то не очень вариант...
открывала в оо то, что там делается?
0
Shiningemerald
 Аватар для Electroflower
384 / 117 / 22
Регистрация: 05.01.2012
Сообщений: 951
05.12.2017, 16:43  [ТС]
xoraxax, если конвертить руками то становятся понятны некоторые мелочи, например:
-создали rtf-файл, где нужно объединить множество ячеек, например объединить в столбце несколько строк, то в word это сохраняется а в OO каждый раз отрисовывает заново некоторые линии таблицы...почему так неясно, причем происходит так независимо от того где файл создан изначально. Именно поэтому и не получается конечный pdf, потому что все съезжает.
Как добиться сохранения в OO rtf -файла со всеми объединенными ячейками? - тут нужно на уровне документа уже думать, т.к. конвертация проходит нормально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.12.2017, 16:43
Помогаю со студенческими работами здесь

Просмотр офисных документов на Java
Всем привет!!! Прошу не ругатся если что то не понятно. Посоветуите с чего начать и в какую сторону идти. и вообще как реализовать???...

формирование документов с чертежной рамкой в java
Всем привет, прошу помощи!!! У меня на проекте нужно формировать документы с чертежной рамкой (рамка по госту а4, как на курсовую) в...

Java & OpenOffice объединение документов
Здравствуйте! Значит ситуация такова: есть несколько файлов шаблонов, мы их загружаем, заполняем чем хочется, а перед сохранением их нужно...

Редактирование docx средствами java
Скажите, кто-нибудь сталкивался с подобной задачей? Нужно прочитать docx-документ, заменить в нем определенные слова или фразы на другие,...

HTTP авторизация средствами Java
Здравствуйте! Требуется помощь в создании эмулятора web-сервиса отправки СМС. Для начала требуется организовать HTTP-авторизацию (Basic...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru