Сгенерируйте html в pdf с помощью xhtml2pdf в проекте django

У меня есть HTML-страница, содержащая несколько таблиц. При преобразовании ее в PDF с помощью xhtml2pdf она работает нормально, если развернуть только несколько таблиц. Однако, если я разверну больше таблиц, я столкнусь с ограничением размера, при котором PDF-файл будет пустым, если содержимое превысит определенный размер (30 Мб).

Views.py

html-шаблон

Как я могу обеспечить правильную загрузку большого Pdf-файла?

Просто увеличьте емкость буфера, который будет использоваться синтаксическим анализатором. По умолчанию синтаксический анализатор использует буфер размером 100 * 1024 байт, где 1024 байта равны 1 килобайтам.

Поскольку размер документа может достигать 20 * 1024 * 1024 байт, передайте это значение в xhtml2pdf.pisa.CreatePDF() примерно так:

xhtml2pdf.pisa.CreatePDF(
    src=html.encode('UTF-8'),
    dest=response,
    encoding='UTF-8',
    capacity=20*1024*1024,
    show_error_as_pdf=True,
    pdf_options=pdf_options
)
Вернуться на верх