powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Формирование большого кол-ва писем, договоров и пр.
25 сообщений из 59, страница 2 из 3
Формирование большого кол-ва писем, договоров и пр.
    #37769560
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, пожалуйста, не вырывайте фразы из контекста, а то получается какая-то хрень. Я спрашиваю про Фому, а вы мне рассказываете про Ерёму.

Итак:

1. Хотел узнать годятся ли для формирования большого количества договоров, актов, стандартных писем и пр. генераторы отчётов типа BIRT или JasperReport. Вы не рекомендуете. Т.е. в принципе можно, но вы говорите, что лучше не надо. Не совсем понял как использовать BIRT в enbedded варианте, мне же не нужен viewer отчётов. А с ним слишком большой получается "дистрибутив", там же почти целый Eclipse. Jasper намного компактнее. Вот ещё хочу попробовать файлы отчётов сделать не в iReport, а в каком-нибудь Notepad'е, посмотреть как он их примет.
2. PDF формы, как советует Petro123, как я уже отметил в первом посте, не годятся по причине фиксированного положения и размера заполняемых полей. Это хорошо для бланков (платёжные поручения, анкеты и пр.) но ни в коем случае не годится для договоров и писем.
3. Редактировать шаблоны пользователям на лету конечно никто не позволит, но хотелось бы что бы изначальный образец они подготовили сами - набили текст, т.к. текста много, отформатировали его, указали куда вставлять поля, ну а поля уж как-нибудь программист вставит сам, а то они сами так навставляют...
4. iText я знаю, люблю и пользуюсь им, но хотелось бы создать некий механизм шаблонов, что бы не приходилось для каждой новой формы письма и договора, или ещё чего-то там писать новый класс или метод Java.
5. Т.е желаемый результат: файл шаблона + файл с данными (XML какой-нибудь) + программа, которая всё это объединяет и выдаёт PDF.
6. Буду смотреть HTML+Velocity+FlyingSaucer, но там не всякий HTML/CSS проходит, надо копать...

Есть ещё какие-нибудь полезные советы, напутствия? Хочет ли кто-нибудь поделиться опытом решения аналогичной задачи (что сами использовали, какая нагрузка, какие впечатления)?
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37769815
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,
конечно хрень. Тебе пишут про Фому, а ты про Ерёму.
2. Кто сказал что не годится? И чем отличается статика-текст от динамики-текст? Кто из нас просит ШАБЛОН?
3. Т.е. это всё таки Ворд?
4. Если знаешь iText, то почему я тебе пишу про его шаблоны? И как делать подстановки без бинов?
5. "и выдаёт PDF." Дак PDF или не PDF в п.2
6. Я так и подумал, что скоро будет фраза "всем спасибо", и мы не увидим решения.
ЗЫ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Проблема у тебя в ТЗ. Например:
1.1 Заказчик\Юзер прислал шаблон в Word97 под именем "Черновой шаблон";
1.2 Теги или заменяемый текст обозначен <ФИО>;
1.3 Разработчик либо конвертит в другой формат (HTML\PDF\Text\PowerPoint), либо оставляет как есть;
1.4 Данный шаблон уже называем НЕ черновым;
1.5 Разработчик дописывает БЛ-бины для данного шаблона;
1.6 Публикует;
так?
______________________________________________
"Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн.
AutoPOI.ru — ГИС-технологии для Oracle
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770201
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick, все-таки, расшифруйте, что Вы понимаете под "шаблоном".

Garrick Редактировать шаблоны пользователям на лету конечно никто не позволит, но хотелось бы что бы изначальный образец они подготовили сами - набили текст, т.к. текста много, отформатировали его, указали куда вставлять поля, ну а поля уж как-нибудь программист вставит сам, а то они сами так навставляют...

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

Garrickхотелось бы создать некий механизм шаблонов, что бы не приходилось для каждой новой формы письма и договора, или ещё чего-то там писать новый класс или метод Java... Т.е желаемый результат: файл шаблона + файл с данными (XML какой-нибудь) + программа, которая всё это объединяет и выдаёт PDF.

В принципе, я Вам это же самое и предложил. Только это в общем, а конкретно - что Вы подразумеваете под "файлом с данными"? И как именно, на Ваш взгляд, программа должна "все это объединить"? Если у Вас самого не будет цельной картины в деталях того, чего Вы хотите, то как Вам что-то посоветовать?

GarrickБуду смотреть HTML+Velocity+FlyingSaucer, но там не всякий HTML/CSS проходит, надо копать...

Вы определитесь, что Вы хотите - то ли iReport-ом обрабатывать вордовские файлы, то ли вот эту вот конструкцию - на мой ИМХО Вы не представляете еще то, что Вы хотите видеть на выходе и промежуточные цепочки (ну или уж слишком расплывчато себе это представляете), - отсюда и не понятно, как Вам помочь.

Garrick Есть ещё какие-нибудь полезные советы, напутствия? Хочет ли кто-нибудь поделиться опытом решения аналогичной задачи (что сами использовали, какая нагрузка, какие впечатления)?
У меня описанный мной механизм работает и написан он за месяц далеко не самой квалифицированной программисткой.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770286
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77программисткой
много программистов женского рода? ;)
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770576
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Garrick,
конечно хрень. Тебе пишут про Фому, а ты про Ерёму.
2. Кто сказал что не годится? И чем отличается статика-текст от динамики-текст? Кто из нас просит ШАБЛОН?

Может быть мы говорим о разных вещах? Я про PDF-формы, которые могут быть заполнены в Acrobat Reader или с помощью iText. У них фиксированный размер и положение полей. Хорошо подходит для бланков фиксированных размеров, но не годится для писем, где размер содержимого поля заранее неизвестен, а статичный текст формы с заполненным полем в итоге должен выглядеть как единый текст. Например (см. рис.) в поле не уместилось целиком ФИО-так негодится. Зделать заранее большое с запасом размера поле тоже нельзя, т.к. будут разрывы (пробелы) в тексте. Или вы умеете делать "резиновые" поля?
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770608
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Проблема у тебя в ТЗ. Например:
1.1 Заказчик\Юзер прислал шаблон в Word97 под именем "Черновой шаблон";
1.2 Теги или заменяемый текст обозначен <ФИО>;
1.3 Разработчик либо конвертит в другой формат (HTML\PDF\Text\PowerPoint), либо оставляет как есть;
1.4 Данный шаблон уже называем НЕ черновым;
1.5 Разработчик дописывает БЛ-бины для данного шаблона;
1.6 Публикует;

так?

Ну, да. Примерно так и есть. п.1.6 немного отличается, но сейчас это не важно, в остальном всё верно. В чём тут проблема?
Хотелось бы себе любимому по максимуму облегчить в будущем жизь, т.е. найти некий универсальный инструмент (серебренную пулю?) для п.1.3. и 1.5 - чем сейчас и озабочен.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770613
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrickв итоге должен выглядеть как единый текст
чудес не бывает.
Есть присказка про ТЗ: "Нужно Быстро, Качественно и Дешево.... Уберите лишнюю фразу....".

То же самое про ваше ТЗ с шаблонами:
- Просто в кодировании
- Шаблонизация Юзверем
- Гибкость ("единый текст")
- Минимальный дистрибутив

Убери лишние требования.

ЗЫ.
1.
В PDF будет не так красиво как в ВОРД
2.
В PDF ты будешь знать максимальный размер полей и Договор будет выглядеть покрасивее чем ты нарисовал. Т.е. Договор - Бланк с подчёркнутыми полями.
3.
Скрин надо было привести "Перед печатью", а не IDE акробата
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770671
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Вы определитесь, что Вы хотите - то ли iReport-ом обрабатывать вордовские файлы, то ли вот эту вот конструкцию - на мой ИМХО Вы не представляете еще то, что Вы хотите видеть на выходе и промежуточные цепочки (ну или уж слишком расплывчато себе это представляете), - отсюда и не понятно, как Вам помочь.

Например так - у меня есть некий файл MS Word, который мне дал юзер (заказчик) и назвал это шаблоном письма. Мы такие письма будем слать нашим клиентам в большом количестве и не один раз. Надо привести этот файл в порядок, вставить теги полей, которые впоследствии будут заменены данными из БД, и сохранить в том формате (XML, XHTML, JRXML?), который некая программа сможет заполнить данными и сохранить конечный результат в PDF. Что будет в этой программе формировать конечный документ - JasperReport или "Летающая тарелка", или ещё что я сейчас и пытаюсь определиться. Главное выбрать удобный инструмент или технологию для формирования "конечного" шаблона из "сырого" файла MS Word. На выходе я хочу видеть PDF - это точно.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770691
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,

Лучше один раз увидеть, чем 100 раз услышать :)

Сделано в jasper 4.1.2
Запустится наверно в любом. Запусти jr, загрузи исходник. Ткнись в Preview, введи нужные параметры и посмотри в различных форматах. У меня в pdf, word и html вроде нормально отображается.
Если не будет каких-нибудь заморочных таблиц, то с простым текстом писем в JR я думаю проблем не должно быть.
Да и юзеров в таких простых случаях можно будет легко натаскать чтобы они сами набивали TextFieldExpression.
Или пусть в нотепаде набивают, а ты уже будешь вставлять результат в отчет.


<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns=" http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report3" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="fio" class="java.lang.String"/>
<parameter name="company" class="java.lang.String"/>
<parameter name="contract" class="java.lang.String"/>
<parameter name="killer" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="20" splitType="Stretch">
<textField isStretchWithOverflow="true">
<reportElement x="0" y="0" width="555" height="20"/>
<textElement verticalAlignment="Middle" markup="html">
<font size="14"/>
</textElement>
<textFieldExpression><![CDATA["Уважаемый <b>"+$P{fio}+"</b>, сообщаем Вам что вы не выполнили условия договора <i>"+$P{contract}+"</i> с компанией <b>"+$P{company}+"</b> и будете в ближайшее время расстреляны. В случае возврата денег с 200%-тным бонусом, мы вас помилуем."]]></textFieldExpression>
</textField>
</band>
</title>
<summary>
<band height="40">
<textField>
<reportElement x="0" y="20" width="555" height="20"/>
<textElement textAlignment="Right" verticalAlignment="Middle" markup="html">
<font size="14"/>
</textElement>
<textFieldExpression><![CDATA["С уважением, "+$P{killer}]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770717
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBezДа и юзеров в таких простых случаях можно будет легко натаскать чтобы они сами набивали TextFieldExpression.
в смысле?
Набивать ту галиматью что ты привел?
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770718
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
Есть присказка про ТЗ: "Нужно Быстро, Качественно и Дешево.... Уберите лишнюю фразу....".

То же самое про ваше ТЗ с шаблонами:
- Просто в кодировании
- Шаблонизация Юзверем
- Гибкость ("единый текст")
- Минимальный дистрибутив

Убери лишние требования.


Увы, как говорят французы: "Такова c'est la vie" :-) А кому сейчас легко?

Petro123ЗЫ.
1.
В PDF будет не так красиво как в ВОРД

Ага, потом это ещё рапечатают на принтере, подпишут, поставят печати и отсканируют обратно в PDF - будет вообще некрасиво. Но так надо.

Petro1232.
В PDF ты будешь знать максимальный размер полей и Договор будет выглядеть покрасивее чем ты нарисовал. Т.е. Договор - Бланк с подчёркнутыми полями.

Вот тут я чего-то недогоняю. Какой-такой "Договор - Бланк"?
Petro1233.
Скрин надо было привести "Перед печатью", а не IDE акробата
Не суть, главное нельзя заранее определить поместится ли текст в поле и насколько он его заполнить если поместится. На печати будет выглядеть так же как и на скрине, текст не уместившийся в поле будет порезан.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770740
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770752
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,
у меня один заказчик, браз Черновой шаблон (его собственный), потом брал распечатанный из ИС.
И на стекле-окне на солнце сверял по миллиметрам.
Так что удаче в конвертировании в HTML\PDF\CorelDraw
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770773
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBezGarrick,
Лучше один раз увидеть, чем 100 раз услышать :)

Ну, да. Как раз то, что нужно.
Я вижу внутри

Код: xml
1.
2.
<textFieldExpression>
<![CDATA[...



вставлены кое какие html теги. Т.е. текст можно как-то отформатировать? Ограничения на размер текста имеются? Как с переходом на следующую страницу, оно само сделается?
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770785
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123GarrickВот тут я чего-то недогоняю. Какой-такой "Договор - Бланк"?
http://www.google.ru/search?hl=ru&newwindow=1&client=firefox&hs=Meg&rls=org.mozilla%3Aru%3Aofficial&q=%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80+%D0%B1%D0%BB%D0%B0%D0%BD%D0%BA+%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B5%D1%86+filetype%3Adoc&oq=%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80+%D0%B1%D0%BB%D0%B0%D0%BD%D0%BA+%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B5%D1%86+filetype%3Adoc&aq=f&aqi=&aql=&gs_nf=1&gs_l=serp.3...4540.21540.0.21782.26.26.0.3.3.0.131.1554.21j1.22.0.X8PuPszfao0
Вот я и говорю...
Petro123В PDF ты будешь знать максимальный размер полей и Договор будет выглядеть покрасивее чем ты нарисовал. Т.е. Договор - Бланк с подчёркнутыми полями.

и ссылку даёшь на вордовый шаблон. Ты меня не путай, я и так весь запутанный...
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770816
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,
ещё раз.
- Термин Шаблон-Бланк предполагает ВИЗУАЛЬНУЮ видимость полей. Напр. подчёркиванием или серым цветом.
Не важно в каком формате.
- если заказчика это устроит, то у тебя будут ФИКСИРОВАННЫЕ поля. Текст не перетекает и НЕ ВЫЛАЗИТ.
- если заказчику нужно ПЕРЕТЕКАНИЕ текста, то это уже не шаблонизация.
А ручное кодирование при PDF или автоматом при OLE-Word (ReplaceText)

Спроси у заказчика.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37770819
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrick,

Ограничений на размер нет. Поле растянется по вертикали на сколько нужно. На след. страницу думаю перейдет, я не проверял, делал классические отчеты.
Перед тем как остановиться на подобном варианте с jasper я бы посоветовал проверить несколько длинных полей, не наложатся ли они друг на друга. В моем варианте не наложатся, так как они разнесены по разным секциям отчета (title, summary).
Не перекроют ли они друг друга в одной секции - не знаю.

К сожалению в JR нельзя добавить несколько Title секций, а в detail это работать не будет.
Итого пространство для маневра - секции Title, Last Page Footer, Summary.
Хотя никто не мешает побить отчет на сабрепорты и в каждом из них писать только в Title :) Но это наверно заморочь.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37771171
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickНапример так - у меня есть некий файл MS Word, который мне дал юзер (заказчик) и назвал это шаблоном письма. Мы такие письма будем слать нашим клиентам в большом количестве и не один раз. Надо привести этот файл в порядок, вставить теги полей, которые впоследствии будут заменены данными из БД, и сохранить в том формате (XML, XHTML, JRXML?), который некая программа сможет заполнить данными и сохранить конечный результат в PDF. Что будет в этой программе формировать конечный документ - JasperReport или "Летающая тарелка", или ещё что я сейчас и пытаюсь определиться. Главное выбрать удобный инструмент или технологию для формирования "конечного" шаблона из "сырого" файла MS Word. На выходе я хочу видеть PDF - это точно.

Ну а чем плохо, например, сделать класс, в который Вы будете передавать шаблон (путь+вордовский файл с "переменными". Или список шаблонов внутри класса - пусть сами выбирают) и еще какие-нибудь указующие флаги. В этом классе Вы открываете шаблон и заменяете "переменные" на нужные данные и выдаете пользователю либо в том же вордовском файле (если требуется редактирование) - назовите его типа "день-время".rtf, либо в PDF, если нужно таковое запретить? Можно сразу в PDF и потом по почте отправить... Если Вы знакомы с iText, то у Вас написание этого класса займет 2-3 дня. В чем проблема? Создание нового шаблона - просто тестируете и утверждаете то, что передано пользователем. Добавление обработчика переменной - от 5 минут до 2 часов в зависимости от сложности.

На первом этапе возможны элементы подгонки форм из-за того, что открывать выходной файл будут разными инструментами - но это будет при использовании ЛЮБОГО пакета. При использовании пакетов специально предназначенных для данного типа файлов это устранить гораздо легче, чем если у вас будет чужой и непонятно как работающий встроенный в пакет конвертор.

Но для Вашего случая, когда выводится просто, например, текст договора, проблем-то должно возникнуть на сто порядков меньше, чем при выдаче отчетов... Если вообще они возникнут. У меня было штук 5 случаев подгонки - самый противный при выводе рисунков в ворде. Ну и один из юзеров каким-то образом умудрился PDF-файл открыть в ворде и не глядя отправить на печать ( не спрашивайте, как он так сделал - не знаю) А так проблем было не много.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37771205
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanBezОграничений на размер нет. Поле растянется по вертикали на сколько нужно. На след. страницу думаю перейдет, я не проверял, делал классические отчеты.
Перед тем как остановиться на подобном варианте с jasper я бы посоветовал проверить несколько длинных полей, не наложатся ли они друг на друга. В моем варианте не наложатся, так как они разнесены по разным секциям отчета (title, summary).
Не перекроют ли они друг друга в одной секции - не знаю.

К сожалению в JR нельзя добавить несколько Title секций, а в detail это работать не будет.
Итого пространство для маневра - секции Title, Last Page Footer, Summary.
Хотя никто не мешает побить отчет на сабрепорты и в каждом из них писать только в Title :) Но это наверно заморочь.

Ой-ей-ей, как тут можно намучаться с форматированием, возникновением разных наложений, перелезаниями на следующий лист и прочая, и прочая, и прочая... Причем выявляться все эти пакости будут, наверняка, не сразу, а пачками в самый неподходящий момент... А так ли просто это все будет исправить?

И изготовление шаблона в данном случае - это отдельное искусство, которое простому юзеру будет никак не под силу...

Вот в этом случае исправление ошибок будет происходить долго и мучительно, а вводить новый шаблон будет совсем не просто.

Ну а конвертирование выходного файла в разные форматы - это отдельная песня...
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37771241
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Ну а чем плохо, например, сделать класс, в который Вы будете передавать шаблон (путь+вордовский файл с "переменными". Или список шаблонов внутри класса - пусть сами выбирают) и еще какие-нибудь указующие флаги. В этом классе Вы открываете шаблон и заменяете "переменные" на нужные данные
Не плохо, но как это сделать на юниксовом сервере? Apache POI в данном случае упоминать наверное не стоит, т.к. в отличии от Ecxel с Word он почти ничего делать не умеет. Более того, у нас даже на Windows не у всех пользователей Microsoft Office есть.
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37771247
sanBez
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Ой-ей-ей, как тут можно намучаться с форматированием, возникновением разных наложений, перелезаниями на следующий лист и прочая, и прочая, и прочая... Причем выявляться все эти пакости будут, наверняка, не сразу, а пачками в самый неподходящий момент... А так ли просто это все будет исправить?

И изготовление шаблона в данном случае - это отдельное искусство, которое простому юзеру будет никак не под силу...

Вот в этом случае исправление ошибок будет происходить долго и мучительно, а вводить новый шаблон будет совсем не просто.



Однозначно. Еще будут проблемы с разным форматированием абзацев, возможно с местом для печати (печать в смысле кругляшок внизу документа), подписи слева и справа в конце договора. И наличие какого-нибудь вордового форматирования, которое простыми html-тегами не сделаешь. И еще и еще...

Я думаю что такую штуку можно использовать только для элементарных шаблонов. Потому и советовал только посмотреть, а не кидаться делать :)
Реализовать может и все можно, но трудозатраты...
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37771320
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickНе плохо, но как это сделать на юниксовом сервере? Apache POI в данном случае упоминать наверное не стоит, т.к. в отличии от Ecxel с Word он почти ничего делать не умеет. Более того, у нас даже на Windows не у всех пользователей Microsoft Office есть.

Так ведь iText- у установленный word не нужен - открывайте шаблонный RTF-файл его механизмами, обрабатывайте его и сбрасывайте потом в PDF. Все кросс-платформенно...
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37772274
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77 Так ведь iText- у установленный word не нужен - открывайте шаблонный RTF-файл его механизмами, обрабатывайте его и сбрасывайте потом в PDF. Все кросс-платформенно...
Это всё теория. Вы сами-то пробовали? У вас это работает?
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37772362
m77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickЭто всё теория. Вы сами-то пробовали? У вас это работает?

Я два раза писал, что у меня такая система работает(вот уже третий раз говорю). Причем задача очень похожа на Вашу. У меня как-то складывается ощущение, что Вы не внимательно читаете ответы (не только мои) и тогда не понятно, зачем спрашиваете.

Мне в данном случае помощь не нужна, у меня все написано и работает.

Если Вы просто хотите подискутировать, то извините - у меня нет времени. А помочь рад - чем могу конечно...
...
Рейтинг: 0 / 0
Формирование большого кол-ва писем, договоров и пр.
    #37772575
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m77Я два раза писал, что у меня такая система работает(вот уже третий раз говорю). Причем задача очень похожа на Вашу.

RTF шаблон -> iText -> PDF?
тогда у меня есть вопросы:
1. На какой OS это работает?
2. Какой RTF используете, чем его формируете? (не все RTF'ы одинаково полезны, особенно те, что из под MS Word).
3. Каким образом подсовываете iText русские шрифты? Как ползьваться шрифтами при полностью ручном кодировании я знаю, но куда их подсунуть в таком примере?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.rtf.parser.RtfParser;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class ConvertRTFToPDF {

    public static void main(String[] args) {

        String inputFile = "sample.rtf";
        String outputFile = "sample_converted.pdf";

        // create a new document

        Document document = new Document();
        try {
            // create a PDF writer to save the new document to disk
            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(outputFile));
            // open the document for modifications
            document.open();
            // create a new parser to load the RTF file
            RtfParser parser = new RtfParser(null);
            // read the rtf file into a compatible document
            parser.convertRtfDocument(new FileInputStream(inputFile), document);
            // save the pdf to disk
            document.close();
            System.out.println("Finished");
        } catch (DocumentException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}



m77У меня как-то складывается ощущение, что Вы не внимательно читаете ответы (не только мои) и тогда не понятно, зачем спрашиваете.
Мне в данном случае помощь не нужна, у меня все написано и работает.
Если Вы просто хотите подискутировать, то извините - у меня нет времени. А помочь рад - чем могу конечно...
Я же не празности ради...
...
Рейтинг: 0 / 0
25 сообщений из 59, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Формирование большого кол-ва писем, договоров и пр.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]