Tengo una aplicación Flask con la aplicación Dash integrada. El código de la aplicación está completamente escrito en python que representa el código html. Ahora, me gustaría poder exportar ciertos elementos <html> a pdf.
código Python para generar html:
import dash from dash.dependencies import Input, Output, State from dash import dcc from dash import html, dash_table import dash_bootstrap_components as dbc html.Div( [ dbc.Row( [ dbc.Card( [ dbc.CardHeader("Median"), dbc.CardBody( [ html.P(id="card"), ] ), ], id="stat", color="light", ), ] ) ] )Aquí está el html generado por el código python:
<div class="row"> <div id="stat" class="card bg-light"> <div class="card-header">Median</div> </div> <div class="card-body"> <p id="card"></p> </div> </div>¿Existe una forma pitónica de exportar html a pdf? También puedo escribir Javascript si hay una manera.
1. Información en Dash => Html:
2. HTML => PDF:
2.1 kit de pdf
import pdfkit pdfkit.from_string('Shaurya GFG','GfG.pdf')https://www.geeksforgeeks.org/python-convert-html-pdf/
https://github.com/JazzCore/python-pdfkit
2.2 xhtml2pdf
from xhtml2pdf import pisa result_file = open("test.pdf", "w+b") pisa.CreatePDF( "<html><body><p>To PDF or not to PDF</p></body></html>", dest=result_file )https://pypi.org/project/xhtml2pdf/
3.3 selenio
Usar la función de impresión de un navegador y un controlador de impresora pdf también podría ser una opción:
cómo guardar la página abierta como pdf en Selenium (Python)