Модуль PDF в Play Framework - PullRequest
       12

Модуль PDF в Play Framework

1 голос
/ 27 марта 2012

Я использую модуль pdf версии 0.9, и у меня возникают некоторые проблемы с renderPDF.

Я всегда получаю это сообщение:

Упс: CConvertException

Неожиданнопроизошла ошибка, вызванная исключением CConvertException: ОШИБКА: произошло необработанное исключение: com.lowagie.text.pdf.BaseFont.getCharBBox (I) [I

Мой метод в контроллере очень прост:

public static void showTermo(Long id) {
        User user = User.findById(id);
        renderPDF(user);
    }

TNks

ОБНОВЛЕНИЕ

Я сейчас проверяю без аргументов ... и исключение продолжается.

public static void showTermo() {            
        renderPDF();
    }

На мой взгляд:

<!DOCTYPE html>

<html>
<head>
    <title>Title</title>
</head>
<body>
    Hello
</body>
</html>

Tnks

Ответы [ 4 ]

1 голос
/ 29 мая 2013

Я также получил эту ошибку, когда элемент HTML не был закрыт должным образом.Например, внутри элемента <table> у меня было </th вместо </th>.Чтобы найти ошибочную линию, я просто удалил фрагменты вида, чтобы сузить область видимости.

0 голосов
/ 24 июля 2013

Я сам наткнулся на то же исключение и обнаружил проблему с fontawesome. Мы просто обновили fontawesome до 3.2.1, и это вызвало проблему. Отображаемый html-файл включал таблицу стилей для fontawesome:

<link rel="stylesheet" type="text/css" href="@{'/public/stylesheets/font-awesome.css'}"> 

Как только я удалил эту ссылку, исключение исчезло.

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

К счастью для меня, рассматриваемый html-файл фактически не использовал fontawesome, поэтому побочных эффектов не было.

0 голосов
/ 27 марта 2012

Проблема решена !! В моей папке lib у меня есть jar iText 2.1.0 для генерации билетов ..... бесполезно сейчас = ( Не помню его ....

Tnks

0 голосов
/ 27 марта 2012

Я думаю, что вы получаете это, потому что метод renderPDF требует, чтобы ввод был либо в PDF, либо в HTML шаблоне.

renderPDF сначала будет искать шаблон .pdf. Если их нет, он вернется к шаблону .html. Вы можете использовать media = «print» css, чтобы настроить PDF для рендеринга. Результатом является файл PDF. Метод рендеринга использует тот же шаблон, что и для рендеринга HTML.

Пожалуйста, обратитесь к образцам и тестам для примера.

Поскольку вы используете User, он не может сопоставить это с шаблоном PDF или HTML из вашей модели.

Здесь - это ссылка на пример контроллера Application.java, предоставленный на GitHub для примеров того, как правильно использовать этот метод.

...