Grails и поколение PDF [закрываются]

8
задан xain 19 February 2010 в 13:37
поделиться

6 ответов

Выбрал iText, работал нормально.

0
ответ дан 5 December 2019 в 08:52
поделиться

вы можете попробовать плагины Dynamic Jasper или jasper plugin. Плагин Dynamic Jasper довольно просто генерирует отчеты вашего доменного класса, позволяя настраивать отчеты. Плагин Jasper имеет теги для работы с отчетами. Ссылки содержат фрагменты и примеры.

5
ответ дан 5 December 2019 в 08:52
поделиться

Объект списка будет иметь атрибут "options", который является массивом всех опций в списке, и атрибут "selectedIndex", который содержит индекс выбранного элемента (или первого выбранного элемента, если их несколько). Так что вы можете сделать это:

var list = document.getElementById('ddlReason');
var selectedValue = list.options[list.selectedIndex];
-121--4779971-

На мой взгляд, контракты на обслуживание и данные, которые раскрывают последовательности, должны четко сигнализировать, что эти последовательности являются неизменными , поскольку они перемещаются по проводу как DTO . Это не имеет большого смысла добавлять и удалять последовательность, которую вы получили от другого уровня. Скорее, вы хотите прочитать эти данные и сделать что-то с ними.

Учитывая это, я бы действительно предпочел использовать IEnumerable < T > , но, к сожалению, это просто плохо работает с WCF. Вы можете получить все виды странных ошибок, особенно когда речь идет об отложенном выполнении, поэтому (в контексте WCF) лучше держаться подальше от них.

Это действительно оставляет массивы , поскольку они сообщают о намерениях наилучшими из оставшихся вариантов.

-121--3260463-

Другой вариант - использование любой библиотеки рендеринга XSL-FO, такой как Apache FOP.

3
ответ дан 5 December 2019 в 08:52
поделиться

Я не использовал это, но если вы хотите сгенерировать PDF-версию вашего представления вместо html, посмотрите этот плагин. Если вы хотите преобразовать существующий HTML в PDF, посмотрите это . Если вы хотите создавать собственные PDF-документы, которые не основаны на ваших представлениях или классах предметной области, вы можете проверить IText возможность создавать сложные документы.

2
ответ дан 5 December 2019 в 08:52
поделиться

Да. Для ведения журнала необходимо определить несколько обработчиков.

http://docs.python.org/library/logging.html#logging-to-multiple-destinations

http://docs.python.org/library/logging.handlers.html#module-logging.handlers

-121--1455217-

Как говорили другие, существуют лучшие варианты, такие как контейнеры STL, и самый интересный вопрос состоит в том, почему нужно вернуть массив в функцию, которая уже имеет его в области действия.

При этом нельзя передавать или возвращать массивы по значению и нужно избегать затухания массива до указателя (см., например, здесь ), используя указатели или ссылки на него:

int (&f(int (&arr)[3]))[3]
{
    return arr;
}

Если вы не хотите жестко кодировать размер, вы можете использовать функции шаблона:

template<size_t n>
int (&f(int (&arr)[n]))[n]
{
    return arr;
}
-121--3460673-

Существует также плагин экспорта , который, помимо PDF, генерирует CSV, Excel, ODS (открытые таблицы документов), RTF и XML.

0
ответ дан 5 December 2019 в 08:52
поделиться

Подключаемый модуль Grails Rendering — лучший вариант.

Вы просто делаете GSP (HTML+CSS), и он просто дает вам PDF! Просто и быстро!

С уважением!

9
ответ дан 5 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: