CSS не отображается при создании PDF-файла Pisa в Джанго - PullRequest
6 голосов
/ 24 января 2012

Я генерирую PDF-файл из HTML, используя Pisa:

def fetch_resources(uri, rel):
    path = os.path.join(settings.MEDIA_ROOT, uri.replace(settings.MEDIA_URL, ""))
    return path

def write_pdf(template_src, context_dict, filename):
    template = get_template(template_src)
    context = Context(context_dict)
    html  = template.render(context)
    result = open(filename, 'wb')
    pdf = pisa.pisaDocument(StringIO.StringIO(
        html.encode("UTF-8")), result, link_callback=fetch_resources)
    result.close()

Мой HTML имеет ссылку на внешний CSS и отображается правильно, но CSS не используется Пизой (например, размер шрифта,ширина ячейки таблицы, выравнивание текста ...).

<!DOCTYPE html>
<html lang="fr">
<head>
    <link rel="stylesheet" href="/site_media/style/style.css" />
</head>

<body>
....

Я что-то пропустил?

Спасибо

1 Ответ

6 голосов
/ 24 января 2012

Вы можете попробовать эту 'Pisa-and-Reportlab-ловушки' Я должен был добавить это

def fetch_resources(uri, rel):

Кроме того, я все еще несу все свои CSS в шаблоне. Также убедитесь, что вы используете xhtml2pdf , а не старый ho.pisa.

...