|
Java форум JavaTalks форум программистов
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
shkipper : 188 Новичок
|
Фев 25, 2010 13:22 |
|
|
Всем приветик.
У меня возник один вопрос при написании аппликации.
Значит идея такая: значит есть люди занесенные в базу данных, там имя фамилия, адрес, ....
И значит при нажатии на кнопку распечатать я хочу конечно же через принтер напечатать как бы хмм стандартный текст но в пустые места что бы были вставлены имя того или иного человека выбранного из базы данных.
Например:
Здравствуйте ...............
Вы проживаете по этому адресу ..........?
Всего наилучшего.
И так где точки должно быть прописано имя и фамилия, адрес человека, которого я заранее уже из списка базы данных выбрал.
Как можно это написать? Как решить такую проблемку?
Я пока что не имею понятия, как?
Жду ваших советов, ответов. |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Фев 25, 2010 13:33 |
|
|
Делаешь заготовку
| Цитата: |
Здравствуйте ${name}
Вы проживаете по этому адресу ${addres}?
Всего наилучшего. |
Потом в этой заготовке меняешь ${name} и ${addres} на значение из базы. |
|
|
|
 |
shkipper : 188 Новичок
|
Фев 25, 2010 13:54 |
|
|
Господин ПАХАН!
Да хорошо сказали, но мало что я с этого понял!
Значит первое, загатовка, как ее лучше сделать, в pdf или же в word? что посоветуете, и потом имя вы говорите заменить да, но как?
И потом же сново как именно печатать? как это запрагроммировать, что бы там открывался тот или иной документ да и он печатался?
А то что заменит да на ${name} это прямо надо в pdf'е или word'е написать да? |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Фев 25, 2010 14:26 |
|
|
Я не господин, господа все в Париже.
Вот простейший пример как сделать замену данных в темплейте.
| Код: |
public class Test {
public static void main(String[] args) {
String name = "Иван Климантович";
String addres = "Деребасовская 10";
String template =
"Здравствуйте ${name}\n" +
"Вы проживаете по этому адресу ${addres}\n" +
"Всего наилучшего. ";
String result = template.replaceAll("\\$\\{name\\}", name);
result = result.replaceAll("\\$\\{addres\\}", addres);
System.out.println(result);
}
} |
Про то как печатать, можно почитать тут. |
|
|
|
 |
shkipper : 188 Новичок
|
Фев 25, 2010 15:03 |
|
|
Ну окей, а дальще про то как печатать понял, заменять тоже, НО
то какой ты пример привел, не трудно , да я это понимаю, но факт в том что скажем мне надо будет распечатывать целый доккумент скажем контракт, да и как ты понимаешь контракт состоит из нескольких листов, я думаю их сделать либо в пдф либо в ворде, ты мне так и не сказал что лучше, и потом надо уже как то читать этот пдф или ворд документ да и вот там уже вставлять нужное имя или фамилию, понимаешь. |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Фев 25, 2010 16:02 |
|
|
PDF - я бы сразу отбросил, этот тип документа мало предназначен для редактирования, он больше представляет пред печатную стадию документа, аналог или отпрыск postscript.
DOC (MS Word) - в принципе, есть вроде библиотеки для работы с этим типом документов для java. Про них ничего не могу сказать. Но лично мне этот вариант тоже не нравится, думаю глючить будет.
ODT (OpenOffice) - поскольку OpenOffice почти целиком написан на Java, и является OpenSouce, я думаю можно добиться отличных результатов. Но его я бы использовал только в том случае, если нужны очень продвинутые шаблоны. Потому что поиск нужных библиотек и разбор библиотек OpenOffice займет прилично времени.
RTF - формат поддерживает неплохие возможности оформления текста, если не ошибаюсь его поддержка есть в JRE. В первую очередь обратил бы внимание на него.
HTML - его поддержка есть в JRE, отображает его криво конечно, если документ сложный (хотя может уже поменялось чего). Но на нем вполне можно сделать несложный бланк. Этот вариант тоже можно попробовать, возможно что-то выйдет.
Я дать пример не могу, я с этим не работал и нужно самому разбираться, если будет время на неделе напишу пример. |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Фев 25, 2010 16:08 |
|
|
| Вот тут есть пример создания простого web браузера на java, его я думаю можно использовать. |
|
|
|
 |
shkipper : 188 Новичок
|
Фев 25, 2010 20:37 |
|
|
Но да не знаю, ведь так же должно оставаться не трудным, я имею ввиду что бы могли и простые пользователи изменить, тот или иной документ, понимаешь.
Хмм может кто еще имеет какие идеи? |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Фев 26, 2010 14:33 |
|
|
|
|
|
|
 |
knkd : 21 Новичок
|
Фев 26, 2010 20:43 |
|
|
| shkipper писал(а): |
| Хмм может кто еще имеет какие идеи? |
Тюху.
1) Создаём документ в OOo.
2) В подлежащих замене местах пишем например(%%ADRESS%%, %%NAME%%)
3) Распаковываем содержимое документа (программно или обычным архиватором вручную)
4) В файле content.xml заменяем шаблоны на необходимые значения.
5) Запаковываем документ обратно.
6) Вуаля!
Знание специфики программных интерфейсов ООо не требуется.
Java тоже необязательна - можно обойтись BAT/(Shell)-файлом и даже Блокнотом.
Способ доступен даже полному или частичному идиоту (я тоже так делаю ). |
|
|
|
 |
shkipper : 188 Новичок
|
Фев 27, 2010 23:03 |
|
|
| хмм а что такое ООо? что то я не понял ) |
|
|
|
 |
shkipper : 188 Новичок
|
Мар 01, 2010 13:30 |
|
|
Пахан вы дали мне ссылку на то как можно сделать то что я хотел, но я застрял немного так как в документе написано надо SDk open office, я скачал, проинсталлировал, но серавно все те импорты не работают, надо ли как то интегрировать или занести сдк в Eclipse?
Но как тогда?
Может подскажите, происнталлировалось у меня все в программ файлс.
Буду очень благодарен. |
|
|
|
 |
shkipper : 188 Новичок
|
Мар 01, 2010 13:51 |
|
|
да и кто может сказать где скачать:
unoil.jar
не могу найти  |
|
|
|
 |
Pahan : 745 Постоянный посетитель Откуда: Минск
|
Мар 01, 2010 14:12 |
|
|
| Цитата: |
да и кто может сказать где скачать:
unoil.jar |
http://findjar.com/ - неплохой сайт для поиска классов и библиотек.
| Цитата: |
| Надо ли как то интегрировать или занести сдк в Eclipse? |
Я думаю, что надо просто подключить определенные библиотеки. Я хотя наверняка не знаю. Попробую у себя поставить, может чего получится.
| Цитата: |
Знание специфики программных интерфейсов ООо не требуется.
Java тоже необязательна - можно обойтись BAT/(Shell)-файлом и даже Блокнотом. |
Вариант в принципе простой и не требует особых знаний по теме, но он подходит только для генерации документов на основе шаблона. То есть сразу нужно сгенерить документ, потом открыть его OpenOffice-ом и отправить на печать. В данном случае как я понял необходимо сразу из программы отправлять на печать. |
|
|
|
 |
shkipper : 188 Новичок
|
Мар 01, 2010 14:46 |
|
|
Вау и правда хороший сайт, огромное спасибо!
Да я походу разобрался как добавить эти файлы к проэкту! |
|
|
|
 |
|
|
Страница 1 из 3 На страницу 1, 2, 3 След. |
Список форумов
-> Печать (Printing API) |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|