Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Печатать стандартный темплэйт с выбранными параметрами.
Список форумов
 ->  Печать (Printing API)


На страницу 1, 2, 3  След. 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 
Ответить с цитатой
Вот тут неплохая статья на тему генерации документов
http://i-rs.ru/content/download/371/2124/file/_Java%20and%20OpenOffice.odt
К началу Посмотреть профиль Отправить личное сообщение
knkd : 21
Новичок

СообщениеФев 26, 2010 20:43 
Ответить с цитатой
shkipper писал(а):
Хмм может кто еще имеет какие идеи?

Тюху.
1) Создаём документ в OOo.
2) В подлежащих замене местах пишем например(%%ADRESS%%, %%NAME%%)
3) Распаковываем содержимое документа (программно или обычным архиватором вручную)
4) В файле content.xml заменяем шаблоны на необходимые значения.
5) Запаковываем документ обратно.
6) Вуаля!

Знание специфики программных интерфейсов ООо не требуется.
Java тоже необязательна - можно обойтись BAT/(Shell)-файлом и даже Блокнотом.
Способ доступен даже полному или частичному идиоту (я тоже так делаю Smile ).
К началу Посмотреть профиль Отправить личное сообщение
shkipper : 188
Новичок

СообщениеФев 27, 2010 23:03 
Ответить с цитатой
хмм а что такое ООо? что то я не понял )
К началу Посмотреть профиль Отправить личное сообщение
shkipper : 188
Новичок

СообщениеМар 01, 2010 13:30 
Ответить с цитатой
Пахан вы дали мне ссылку на то как можно сделать то что я хотел, но я застрял немного так как в документе написано надо SDk open office, я скачал, проинсталлировал, но серавно все те импорты не работают, надо ли как то интегрировать или занести сдк в Eclipse?
Но как тогда?
Может подскажите, происнталлировалось у меня все в программ файлс.
Буду очень благодарен.
К началу Посмотреть профиль Отправить личное сообщение
shkipper : 188
Новичок

СообщениеМар 01, 2010 13:51 
Ответить с цитатой
да и кто может сказать где скачать:
unoil.jar
не могу найти Sad
К началу Посмотреть профиль Отправить личное сообщение
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)


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru