2

私は Django Web サイトを実行しており、Pisa と cStringIO を使用して、ビュー コードを含むテンプレートをインライン PDF ファイルとしてレンダリングするレポートを作成しています。それはすべて順調で、うまく機能しています。私が HTML で見たものrender_to_response()は、PDF 形式でうまく表示されます。これで、一連の HTML<ol></ol>リストができました。<ol type="1">外側のリストを数値 ( ) に、内側のリストをアルファベット ( )にしたいと思います<ol type="A">。タグの inlinetypeプロパティと を使用してみましたが、どちらも OL の文字で PDF をレンダリングしません。代わりに、それらは常に数値です。<ol>list-style-type: upper-alpha

これが私のrender_to_pdf方法です:

def render_to_pdf(template_src, context_dict, extra_html=None):
    template = get_template(template_src)
    context = Context(context_dict)
    html = template.render(context)
    result = StringIO.StringIO()

    if extra_html:
        html += extra_html

    pdf = pisa.pisaDocument(
        StringIO.StringIO(html.encode("UTF-8")),
        dest=result,
        encoding='UTF-8',
        link_callback=fetch_resources
    )

    if not pdf.err:
        return HttpResponse(result.getvalue(), mimetype='application/pdf')

    return HttpResponse('We had some errors<pre>%s</pre>' % escape(html))

これが私のテンプレートです:

<ol type="1">
    <li>1</li>
    <li>2</li>
    <li>
        3
        <ol type="A">
            <li>A</li>
            <li>B</li>
            <li>C</li>
        </ol>
    </li>
    <li>4</li>
</ol>

それrender_to_responseは示しています:

1. 1
2. 2
3. 3
    A. A
    B. B
    C. C
4. 4

それrender_to_pdfは示しています:

1. 1
2. 2
3. 3
    1. A
    2. B
    3. C
4. 4

順序付きリストに文字を表示させる方法はありますか?

4

0 に答える 0