PDFs de páginas web con Selenium y Python

Introducción: Imprimir páginas web a PDF es una tarea habitual para generar informes, guardar facturas o archivar contenido. Con Selenium y Python se puede automatizar este flujo de forma fiable y reproducible, ideal para soluciones de software a medida y aplicaciones empresariales.
Requisitos: Python 3.8 o superior, Google Chrome instalado y el paquete selenium 4.x. También es útil contar con conocimientos básicos de manipulación de ficheros y base64 en Python.
Paso 1 Configurar Selenium con Chrome: from selenium import webdriver driver = webdriver.Chrome()
Paso 2 Navegar a la página que se desea imprimir: driver.get(https://www.selenium.dev)
Paso 3 Configurar las opciones de impresión Selenium ofrece la clase PrintOptions para ajustar la apariencia del PDF. from selenium.webdriver.common.print_page_options import PrintOptions print_options = PrintOptions() print_options.orientation = portrait print_options.scale = 0.60 print_options.background = True
Paso 4 Generar el PDF Al invocar driver.print_page(print_options = print_options) Selenium devuelve el PDF como una cadena en base64. Hay que decodificar esa cadena a bytes para obtener un archivo PDF válido. import base64 pdf_base64 = driver.print_page(print_options = print_options) pdf_bytes = base64.b64decode(pdf_base64)
Paso 5 Guardar el PDF en disco Abrir el fichero en modo binario es imprescindible para no corromper el documento. with open(website_print.pdf, wb) as f: f.write(pdf_bytes)
Paso 6 Cerrar el navegador Siempre libere recursos con driver.quit()
Consejo práctico Para inspeccionar resultados puede guardar la cadena base64 en un .txt y el resultado decodificado en un .pdf y comparar ambos archivos. with open(output_str.txt, w) as f: f.write(pdf_base64) with open(output_bytes.pdf, wb) as f: f.write(pdf_bytes)
Ejemplo completo resumido import base64 from selenium import webdriver from selenium.webdriver.common.print_page_options import PrintOptions driver = webdriver.Chrome() driver.get(https://www.selenium.dev) print_options = PrintOptions() print_options.orientation = portrait print_options.scale = 0.50 print_options.background = False pdf_base64 = driver.print_page(print_options = print_options) pdf_bytes = base64.b64decode(pdf_base64) with open(website_print.pdf, wb) as f: f.write(pdf_bytes) driver.quit()
Aplicaciones y servicios profesionales En Q2BSTUDIO ofrecemos desarrollo de soluciones que integran automatización web y generación de documentos PDF dentro de flujos empresariales a medida. Somos especialistas en software a medida, aplicaciones a medida y ofrecemos también servicios en inteligencia artificial, ciberseguridad y cloud. Si necesita integrar la generación automática de PDFs en una plataforma, podemos diseñar la solución y desplegarla en entornos seguros y escalables. Conozca nuestras opciones de desarrollo de aplicaciones y software a medida para proyectos que requieren integración con Selenium o procesos automatizados.
Servicios complementarios Q2BSTUDIO no solo desarrolla la parte funcional, también implementa medidas de ciberseguridad y pruebas de pentesting para asegurar la integridad y confidencialidad de los documentos generados. Además ofrecemos servicios cloud aws y azure para desplegar pipelines de generación de informes y servicios inteligencia de negocio con integración de Power BI. Para proyectos que incorporan modelos o agentes IA contamos con experiencia en ia para empresas y agentes IA y podemos integrar capacidades avanzadas de inteligencia artificial para procesado automático de contenido.
Palabras clave y posicionamiento El uso de Selenium para generar PDFs encaja perfectamente en soluciones empresariales que requieren automatización de procesos, integración con servicios cloud aws y azure, o entrega de informes a través de power bi y servicios inteligencia de negocio. Si su organización busca mejorar la eficiencia con aplicaciones a medida y soluciones de inteligencia artificial y ciberseguridad, en Q2BSTUDIO diseñamos e implementamos la solución completa. Consulte nuestros servicios de inteligencia artificial para empresas para explorar opciones de automatización avanzada y agentes IA.
Resumen final Imprimir páginas web a PDF con Selenium y Python es directo: configurar el driver, ajustar PrintOptions, decodificar el base64 y guardar en modo binario. Para proyectos de mayor envergadura, integración con business intelligence o despliegue seguro en la nube, Q2BSTUDIO aporta experiencia en software a medida, aplicaciones a medida, inteligencia artificial, ciberseguridad y servicios cloud para llevar su proyecto de prueba de concepto a producción.
Comentarios