forum.bitel.ru http://forum.bitel.ru/ |
|
fop и всё про него http://forum.bitel.ru/viewtopic.php?f=1&t=4942 |
Страница 1 из 4 |
Автор: | dimOn [ 21 дек 2010, 21:47 ] |
Заголовок сообщения: | fop и всё про него |
В 5.2 версии 1) Может быть возможность использовать любые системные шрифты во всех местах, где замешан fop. При генерации всяких там карточек, pdf и прочего. Надо ли? 2) Все встроенные потенциально можно упразднить. Надо ли? Вопрос вот в чём: вдруг шаблон свёрстан в винде, а в линуксе потом шрифта arial не найдётся. Можно лишь будет его поставить в системе, чтобы в линуксе он работал, как arial. Это проще или сложнее? Или оставить набор дефолтных шрифтов arial и ещё несколько, зашитых в fop.jar? |
Автор: | borisk [ 21 дек 2010, 21:52 ] |
Заголовок сообщения: | Re: fop и всё про него |
Насколько я помню fop, то там есть userconfig.xml, где мы можем сами указать какие шрифты встраивать в pdf и из какого места их брать. Почему-бы не оставить эту замечательную возможность? Создайте свой, дефолтовый userconfig.xml, а уж что пользователь в него допишет - вроде как не ваша уже проблема. |
Автор: | dimOn [ 22 дек 2010, 13:40 ] |
Заголовок сообщения: | Re: fop и всё про него |
В новом фопе 1.0 нет никаких таких конфигов, там всё переделано. Всё и мы переделали. Конфиг грузится дефолтный fop.xconf , там всё тоже почти всё (но не совсем всё) подобное можно и прописать. Другое дело, что занимаются этим 1%, а остальные 99% донимают вопросами про решёточки, так что надо сделать как-то правильнее, чтобы ничего не делая всё работало. |
Автор: | borisk [ 22 дек 2010, 13:57 ] |
Заголовок сообщения: | Re: fop и всё про него |
Значит надо сделать некую дефолтную конфигурацию из 2-3 шрифтов (причем, imho, любой используемый шрифт надо встраивать, чтобы избежать решеточек на разных конфигурациях клиента). Но возможность ковырять ручками fop.xconf тоже надо оставить. |
Автор: | dimOn [ 22 дек 2010, 14:17 ] |
Заголовок сообщения: | Re: fop и всё про него |
Ну так ковырять конфиги никто не мешает, конечно) Он сейчас большой, правда, стал. Просто сложновато совместить шрифты и системные и прошитые ввиду некоторых архитектурных особенностей. Встраивать в либу всё равно не очень это правильно. Ну вопрос это пока открытый, конечно... |
Автор: | snark [ 27 дек 2010, 16:59 ] |
Заголовок сообщения: | Re: fop и всё про него |
1. нет, т.к. вопросов про решеточки станет еще бОльше энтузиастам конечно можно дать возможность использовать любые шрифты, но ч0тко определить позицию - используешь какой-то там хитрый шрифт - иди с деньгами в хелпдеск и не парь этим сообщество, пожалуйста 2. нет, т.к. IMHO лучше встроить 2-3 самых популярных шрифта, например Arial, Courier или Courier New и Times New Roman - этого вполне хватит ... собно нужна то всего пара шрифтов чтобы писать тексты, например arial, ну или times для приверженцев догмы "шрифты с засечками читаются легче, чем гротески (шрифты без засечек)"(с) Самизнаетекто и один sans-serif чтобы писать логины/пароли, например courier (я уже много лет курьером логин и пароль на карточках печатаю - все гут) ... |
Автор: | dimOn [ 27 дек 2010, 18:38 ] |
Заголовок сообщения: | Re: fop и всё про него |
склоняюсь к тому, что надо встроить base fourteen fonts, а остальные брать какие прописаны из системных. работаю над этим. |
Автор: | dimOn [ 28 янв 2011, 04:29 ] |
Заголовок сообщения: | Re: fop и всё про него |
Итого, в 5.2 встроены и сконфигурированы шрифты/font-family (для внедрения в pdf), которые можно полноценно использовать: default - для неуказанных font-family (берётся подходящий sans-serif) serif - класс font-family sans-serif - класс font-family monospace - класс font-family Ну и соответствующие конкретные гарнитуры: Arial - конкретный шрифт Times - конкретный шрифт Courier - конкретный шрифт Каждый из них работает для всех стилей/толщин соотвествующим образом, срабатывает для всех комбинаций стилей, т.е. для (normal/italic +/- normal/bold), т.е. для каждого из шрифтов внедрено по 4 гарнитуры с соответствующими метриками. Также для имён шрифтов учитывается косячное написание их с маленькой буквы (оставлено для обратной совместимости, не рекомендуется для вёрстки). Также для стиле-гарнитур оставлены парфозные названия (когда-то по ошибке приконфигурированные), типа arialbold, ariali, arialbi. Плюс остались старые шрифты DejaVuLGCSansMono и DejaVuLGCSansMonobold. Эти названия строго не рекомендуются и порицаются. |
Автор: | max [ 29 янв 2011, 01:20 ] |
Заголовок сообщения: | Re: fop и всё про него |
а verdana можно добавить? |
Автор: | dimOn [ 29 янв 2011, 02:33 ] |
Заголовок сообщения: | Re: fop и всё про него |
хм, ну а зачем? одного санс-серифа хватит) желающие могут добавить любые сами внутрь. |
Автор: | dimOn [ 29 янв 2011, 21:44 ] |
Заголовок сообщения: | Re: fop и всё про него |
Ахтунг! Кстати, в версии 5.2 производится строгая валидация шаблонов в плане строгости fo-синтаксиса. До этого всё было абы как и fop проглатывал, сейчас не выйдет. Даже если ставится не-стрикт валидация, то в 90% всё равно падает во внешних рендерах картинок в ячейки итд итп. В основном касается это генерации pdf. Все шаблоны типа bill_pdf.xsl , invoice_pdf.xsl итд нерабочие. В сборке сейчас правятся они, если вы от них переделывали свои, то вам придётся с ними тоже повозиться и проверить. На что обратить внимание в первую очередь: 1) во всех таблицах ячейки задаются через fo:table-cell , так вот, по синтаксису требуется, чтобы внутри было 1 или более ( *(block)+ ) элементов fo:block. Какие в данный момент ошибки наблюдаются: а) просто пустые ячейчки: Код: <fo:table-cell></fo:table-cell> нельзя! надо, например:Код: <fo:table-cell><fo:block/></fo:table-cell> б) ячейки, в которых сразу что-то стоит, не обёрнутое в <fo:block></fo:block>, например, в некоторых местах у нас стоял тег <fo:external-graphic..., так тоже нельзя, надо его обернуть в <fo:block> 2) продолжение следует |
Автор: | skyb [ 29 янв 2011, 22:47 ] |
Заголовок сообщения: | Re: fop и всё про него |
dimOn писал(а): :!: Ахтунг! Кстати, в версии 5.2 производится строгая валидация шаблонов в плане строгости fo-синтаксиса. До этого всё было абы как и fop проглатывал, сейчас не выйдет. Даже если ставится не-стрикт валидация, то в 90% всё равно падает во внешних рендерах картинок в ячейки итд итп. В основном касается это генерации pdf. Все шаблоны типа bill_pdf.xsl , invoice_pdf.xsl итд нерабочие. В сборке сейчас правятся они, если вы от них переделывали свои, то вам придётся с ними тоже повозиться и проверить. На что обратить внимание в первую очередь: 1) во всех таблицах ячейки задаются через fo:table-cell , так вот, по синтаксису требуется, чтобы внутри было 1 или более ( *(block)+ ) элементов fo:block. Какие в данный момент ошибки наблюдаются: а) просто пустые ячейчки: Код: <fo:table-cell></fo:table-cell> нельзя! надо, например:Код: <fo:table-cell><fo:block/></fo:table-cell> б) ячейки, в которых сразу что-то стоит, не обёрнутое в <fo:block></fo:block>, например, в некоторых местах у нас стоял тег <fo:external-graphic..., так тоже нельзя, надо его обернуть в <fo:block> 2) продолжение следует dimOn А зачем все так усложнять? |
Автор: | snark [ 29 янв 2011, 23:05 ] |
Заголовок сообщения: | Re: fop и всё про него |
а в чем сложность валидный fo* писать? |
Автор: | dimOn [ 30 янв 2011, 20:54 ] |
Заголовок сообщения: | Re: fop и всё про него |
skyb писал(а): dimOn А зачем все так усложнять? Хм, в смысле? Я не виноват, что раньше fop разрешал писать фигню вместо валидного fo, а после релиза в 1.0 перестал Вообще, зря я тут напугал. Без паники, всё сделается без лишнего шороха, автоматизируем как сможем Скрипт отлаживаю поиска невалидности. Просто беда в том, что невежливый fop не пишет в какой строке ошибка или каких-то человеческих подробностей про ошибку, просто падает со стектрейсом явовским и сиди гадай что случилось. Ах, уж эти программисты такие программисты |
Автор: | snark [ 30 янв 2011, 23:09 ] |
Заголовок сообщения: | Re: fop и всё про него |
dimOn писал(а): программисты такие программисты самокритика? ))) |
Автор: | dimOn [ 02 фев 2011, 14:07 ] |
Заголовок сообщения: | Re: fop и всё про него |
Написал на скорую руку тестилку небольшую, на SAX-парсере. Запускается обычно, примерно так: Код: java ru.bitel.bgbilling.test.Do_ValidateFo /home/dimon/workspace/bgbilling/webroot/xsl ну или есть скрипт-запускальщик (под линукс, правда), разобраться несложно... Код: ./fovalidate.sh /home/dimon/workspace/bgbilling/webroot/xsl побежит всё, замелькает и для каждого файла в указанной папке будет что-то типа Код: ... process file '/home/dimon/workspace/bgbilling/webroot/xsl/bill_pdf_ufanet.xsl'... line:185,col:89 Внутри fo:table-cell, содержится xsl:call-template, он не является xsl-fo тегом, и ВОЗМОЖНО надо обернуть его в fo:block line:206,col:89 Внутри fo:table-cell, содержится xsl:call-template, он не является xsl-fo тегом, и ВОЗМОЖНО надо обернуть его в fo:block line:266,col:21 Внутри fo:table-cell, содержится fo:external-graphic, надо обернуть в fo:block line:339,col:77 Пустая fo:table-cell, внутри должен быть как минимум один fo:block ... Ну, тут всё очевидно. Если пишет, что fo:table-cell пустая, то надо туда вставить <fo:block/> как сказано выше. Если что-то кроме fo:block стоит, то надо как минимум всё в fo:table-cell обернуть в fo:block. Кое-что, кажется, можно и не обёрнутым вставлять в ячейку, вроде другую таблицу. Но на всякий случай тут всё предлагается заблочить, хуже точно не будет. Если внутри что-то стоит не fo-шное, типа всяких xsl-структур, то тут уже надо интеллектуально проверять - после xsl-трансформации окажется ли, что в ячейке блок или нет. Например, очевидно, что это нормально: Код: <fo:table-cell> <xsl:choose> <xsl:when test=""> <fo:block>что-то тут написано</fo:block> </xsl:when> <xsl:otherwise> <fo:block>что-то тут написано</fo:block> </xsl:otherwise> </xsl:choose> <fo:table-cell> Но чтобы тестилка не ругалась, я почти везде в наших шаблонах так или иначе заблочил и подобное... Другой пример: Код: <fo:table-cell border-bottom-style="solid"><xsl:attribute name="border-bottom-width"><xsl:value-of select="$weight"/></xsl:attribute> <fo:block/> </fo:table-cell> По идее это тоже нормально, но скриптик тоже сделает варнинг, типа что-то странное, тут уже надо глядеть. Но чтобы опять же не ругалось, подобное можно заменить на такое, например: Код: <fo:table-cell border-bottom-style="solid" border-bottom-width="{$weight}"> <fo:block/> </fo:table-cell> Других кардинально отличающихся ошибок в наших шаблонах (и тех, что мы видоизменяли на заказ кому-либо) не нашлось, а так как у вас почти наверняка или наши или видоизменённые наши, то это должно почти всё нормально пройти. upd1 Добавлена проверка на некоторые ошибки атрибутов Цитата: line:799,col:103; fo:table содержит аттрибут weight="0.7pt", он ошибочный, надо убрать его вместе с его значением upd2 Добавлены ещё проверки + xsd валидация (но на неё обращать всерьёз внимание не нужно, может быть неполноценной, для справки и FO-чистоты) Цитата: line:390,col:76; fo:block содержит атрибут white-space-collapse, используете его, чтобы верстать пробельными символами, и он работает некорректно? Дополните его по меньшей мере атрибутом linefeed-treatment="preserve" Цитата: line:356,col:20; В таблице (уровень вложенности: 1) описано 2 столбцов, а в строке обнаружено 3 line:405,col:25; В таблице (уровень вложенности: 2) описано 2 столбцов, а в строке обнаружено 4 Цитата: карточки шаблон дополнительная валидация по xsd: xml error: cvc-complex-type.3.2.2: Attribute 'vertical-align' is not allowed to appear in element 'fo:block'., line: -1, column: -1 xml error: cvc-complex-type.2.4.b: The content of element 'fo:table-cell' is not complete. One of '{"http://www.w3.org/1999/XSL/Format":marker, "http://www.w3.org/1999/XSL/Format":block, "http://www.w3.org/1999/XSL/Format":block-container, "http://www.w3.org/1999/XSL/Format":table, "http://www.w3.org/1999/XSL/Format":list-block, "http://www.w3.org/1999/XSL/Format":table-and-caption, "http://www.w3.org/1999/XSL/Format":wrapper, "http://www.w3.org/1999/XSL/Format":retrieve-marker, "http://www.w3.org/1999/XSL/Format":multi-switch, "http://www.w3.org/1999/XSL/Format":multi-properties, "http://www.w3.org/1999/XSL/Format":float, "http://www.w3.org/1999/XSL/Format":footnote}' is expected., line: -1, column: -1 xml error: cvc-complex-type.2.4.b: The content of element 'fo:table-row' is not complete. One of '{"http://www.w3.org/1999/XSL/Format":table-cell}' is expected., line: -1, column: -1 upd3 + новый тест: попытка рендерить в PDF, и вывод уже специфических ошибок конкретно при рендере + новые 2 подтеста: отрезание всех скриптов, (которые могли падать лишнего) и запуск ещё раз двух тестов: валидация по xsd и рендер в pdf + новый тест: прогрессивная валидация вёрстки таблиц, пытается угадать структуру таблицы и нарисовать чего не так + новая фича: более подробный вывод в лог при запуске по отдельному файлу вместо запуска по директории |
Автор: | dimOn [ 03 фев 2011, 13:43 ] |
Заголовок сообщения: | Re: fop и всё про него |
Так что можно сделать всё заранее |
Автор: | dimOn [ 02 мар 2011, 17:25 ] |
Заголовок сообщения: | Re: fop и всё про него |
Обновил валидатор, пост про него и ссылку на него ftp://ftp.bgbilling.ru/pub/bgbilling/util/fo_validator.zip |
Автор: | snark [ 02 мар 2011, 17:58 ] |
Заголовок сообщения: | Re: fop и всё про него |
может лучше обозвать файл fo_validator.zip? зачем? зашел кто-то на ftp и увидел там файлик - из названия будет примерно понятно что это такое, IMHO а чтоб вообще вопросов не возникало - предлагаю сделать так: Код: fo_validator.zip <- собсно сам валидатор fo_validator_readme.txt <- файл с _кратким_ описанием и ссылкой на эту тему думаю так будет удобно ... |
Автор: | skyb [ 22 сен 2011, 08:06 ] |
Заголовок сообщения: | Re: fop и всё про него |
Шрифт стал покрасивей, тока вот все форматирование слетело к ..... Как поставить пустую строку под строкой? |
Автор: | skyb [ 22 сен 2011, 10:25 ] |
Заголовок сообщения: | Re: fop и всё про него |
Суть в том что у меня не отрабатывает не space-after и space-before, а в вашей карточки кард_инет все работает. как найти косяк? |
Автор: | dimOn [ 22 сен 2011, 11:06 ] |
Заголовок сообщения: | Re: fop и всё про него |
space-after и space-before у кого? у блока? |
Автор: | skyb [ 22 сен 2011, 11:16 ] |
Заголовок сообщения: | Re: fop и всё про него |
http://fpaste.org/Om5Z/ Вообще нечего. |
Автор: | skyb [ 26 сен 2011, 15:43 ] |
Заголовок сообщения: | Re: fop и всё про него |
ап изза этого не могу апнуться на 5.2 ооччеееннь нада |
Автор: | dimOn [ 26 сен 2011, 19:02 ] |
Заголовок сообщения: | Re: fop и всё про него |
косяк был в том что стандарты поменялись и парочка атрибутов рабтали как положено. надо юзать linefeed-treatment="preserve" в дополнение к white-space-collapse="false" , если кто пользует раскорячку шаблонов пробелами и переводами строк |
Автор: | skyb [ 29 сен 2011, 15:22 ] |
Заголовок сообщения: | Re: fop и всё про него |
при вызови карт вылетает ошибка Код: 09-29/10:23:00 INFO ["http-bio-/0.0.0.0-8080"-exec-4] Calculator - Task finished time=17 ms. 09-29/10:23:01 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:05 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:05 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:05 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:08 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:08 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:08 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:11 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:11 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:13 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:13 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:13 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:13 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:13 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:13 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:15 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:15 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:16 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:23:16 INFO ["http-bio-/0.0.0.0-8080"-exec-3] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:24:57 INFO ["http-bio-/0.0.0.0-8080"-exec-10] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:25:00 INFO ["http-bio-/0.0.0.0-8080"-exec-10] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:25:00 INFO ["http-bio-/0.0.0.0-8080"-exec-10] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:25:00 INFO ["http-bio-/0.0.0.0-8080"-exec-10] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:30:36 INFO ["http-bio-/0.0.0.0-8080"-exec-8] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:30:36 INFO ["http-bio-/0.0.0.0-8080"-exec-8] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/10:30:36 INFO ["http-bio-/0.0.0.0-8080"-exec-8] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:52:54 INFO ["http-bio-/0.0.0.0-8080"-exec-6] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:52:59 INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:52:59 INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:52:59 INFO ["http-bio-/0.0.0.0-8080"-exec-7] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:53:42 INFO ["http-bio-/0.0.0.0-8080"-exec-5] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:53:42 INFO ["http-bio-/0.0.0.0-8080"-exec-5] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam 09-29/18:53:42 INFO ["http-bio-/0.0.0.0-8080"-exec-5] ScriptInstance - Invoke method ScriptLibrary [id:3; name:user] : getCurrentUserParam карта не загружается, так же не верно рисуются таблицы в картах. все стоит на месте уже 3-йи день. |
Автор: | skyb [ 29 сен 2011, 15:34 ] |
Заголовок сообщения: | Re: fop и всё про него |
ап |
Автор: | snark [ 29 сен 2011, 18:15 ] | ||
Заголовок сообщения: | Re: fop и всё про него | ||
Не удержался, т.к. только это на ум и приходит.
|
Автор: | dimOn [ 30 сен 2011, 10:56 ] |
Заголовок сообщения: | Re: fop и всё про него |
Ну где, ну где тут ошибка? |
Автор: | dimOn [ 30 сен 2011, 11:32 ] |
Заголовок сообщения: | Re: fop и всё про него |
Это - не ошибки. Взял присланные шаблоны, первый же из них вываливат в логи портянки ошибок, где чёрным по серому написано в чём дело, это во-первых. Во-вторых, по поводу "сжатого текста" два дня персонально было общение, вне рамок техподдержки причём. Ну не верстает никто xsl-шаблоны пробелами!!!!!!!1111111 Но даже на этот счёт проблема была решена. Также написал в топике выше краткое решение и на jabber-канале озвучил. Что именно осталось непонятным? Про какие три дня речь идёт? В хелпдеске, например, нет ни одной темы на этот счёт. Берём первый шаблон, запускаем, видим в логах Код: Caused by: org.apache.fop.fo.ValidationException: The column-number or number of cells in the row overflows the number of fo:table-columns specified for the table. (See position 0:0) Что конкретно непонятно? Кол-во ячеек в таблице обнаружено больше, чем описано в таблице (даже названия сущностей приведены!). Это ошибка вёрстки. Ошибка вёрстки вашего шаблона, к которому, собственно, отношение наше имеется слабое. Открываем шаблон, смотрим таблицы, видим что-то типа Код: ....<fo:table table-layout="fixed"> и далее по 4 ячейки в строке в вёрстке. Исправляем этот очевидный косяк, корим себя, вуаля - работает, никаких чёрных крестов не рисуется. Ну итд.
<fo:table-column column-width="6cm"/> <fo:table-column column-width="proportional-column-width(1)"/> <fo:table-column column-width="proportional-column-width(1)"/> <!-- <fo:table-column column-width="proportional-column-width(1)"/> --> <fo:table-body>.... |
Страница 1 из 4 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |