首页 > 其他分享 >使用playwright控制浏览器在服务器端将网页转化为PDF文件

使用playwright控制浏览器在服务器端将网页转化为PDF文件

时间:2024-05-15 18:10:50浏览次数:22  
标签:playwright 服务器端 url args timeout path PDF page

需求

在实际需要中,经常存在需要在服务器端将网页转化为PDF文件保存下来。

代码

requirements.txt

点击查看代码
playwright

convert_pdf.py

点击查看代码
from playwright.sync_api import sync_playwright, Playwright
import argparse

def run(playwright: Playwright, url: str, path: str, timeout: int):
    chromium = playwright.chromium
    browser = chromium.launch()
    context = browser.new_context()
    page = context.new_page()
    page.goto(url=url, timeout=timeout)
    page.emulate_media(media="print")
    page.pdf(path=path, format="A4", outline=True, margin=dict(top="35px", right="35px", bottom="35px", left="35px"))
    browser.close()

with sync_playwright() as playwright:
    parser = argparse.ArgumentParser(description='Convert PDF')
    parser.add_argument('-u', '--url', type=str, required = True, help='Need to convert PDF file network address')
    parser.add_argument('-p', '--path',  type=str, required = True, help='save file path')
    parser.add_argument('-t', '--timeout', type=int, help='timeout(Unit millisecond), defualt 30000 ', default=30000)
    args = parser.parse_args()
    
    if args.timeout < 1000:
        print("error: Please enter the correct timeout period in milliseconds.")
        exit(0)

    run(playwright, url=args.url, path=args.path, timeout=args.timeout)
使用以下命令安装依赖

python install -r requirements.txt

playwright install

等待安装完成后,在使用下列命令转化即可
python .\convert_pdf.py -u https://www.baidu.com --path ./page8.pdf

标签:playwright,服务器端,url,args,timeout,path,PDF,page
From: https://www.cnblogs.com/yanghucai/p/18194425

相关文章

  • 如何将pdf文件转换成jpg图片?这3种方法超简单
    日常我们有时把会图片文件转化为PDF文件,但是有时候由于工作的需要,在对文本、图片进行处理时,可能会将PDF文件转化为图片格式文件,比如pdf怎么转换成jpg图片等。那遇到pdf转换成图片的情况该如何转换?分享3个超简单的方法。方法一、截图转换如果你的PDF文件内容不会太过复杂,且内容较......
  • PDF加密转APK大师 (支持一机一码, 无需额外安装PDF浏览器, 强力加密保护PDF文件)
    PDF加密转APK大师是一款PDF加密软件,它可以把PDF文件直接转成安卓APP,并支持一机一码加密,静态密码加密等高级功能,可以用来保护PDF文档,防止未经授权的传播,并方便向用户收费.加密生成的APK被高强度加密混淆,并且PDF文件也使用了128位加密保护,可以有效保护PDF文件. ......
  • 比Selenium更优秀的playwright介绍与未来展望
    Playwright是微软开发的,专门为满足端到端测试需求而创建的。Playwright支持包括Chromium、WebKit和Firefox在内的所有现代渲染引擎。在Windows、Linux和macOS上进行测试,本地或在CI上,无头或有头,带有本机移动仿真。安装安装playwright库pipinstall--upgradepippipinstall......
  • 【专题】2024中国医疗器械企业全球化发展报告合集PDF分享(附原数据表)
    原文链接:https://tecdat.cn/?p=36180原文出处:拓端数据部落公众号中国医疗器械企业在国内市场面临同质化竞争和研发能力薄弱等挑战,而海外市场则展现出巨大的增长潜力和性价比优势。因此,全球化布局对于中国医疗器械企业至关重要。该报告合集详细分析了这些市场的宏观经济、医疗体......
  • 用手机免费pdf转word文档怎么操作?
    众所周知,PDF是不可直接编辑的文件,尤其是扫描件。如果要将pdf文件转换为word文件,如何进行转换?其实我们可以通过工具把pdf转word文档的操作哦。有很多人不知道用什么工具好,小编今天就给大家推荐一款手机也能免费将pdf文档转成word文档的在线工具smallpdf中文版。pdf转word可以在线......
  • 零操作,高效下载:利用Playwright和Python完成文件下载
    前言Playwright是一个由Microsoft开发的跨浏览器自动化测试工具,它提供了强大的功能来模拟用户在浏览器中的操作。Playwright还可以应用于诸如文件下载等实际场景的测试。本文将介绍如何利用Playwright在Python中实现文件下载功能。文件下载文件下载也是我们进行web自......
  • Playwright执行 JavaScript 脚本:探索浏览器自动化的新境界
    前言我们在进行web自动化时,经常遇到一些不好操作的元素,普通的元素定位和操作容易报错,如果我们使用的selenium的话,就可以使用selenium调用js脚本进行操作。在playwright中也有类似的方法,使用page.evaluate()执行JavaScript脚本。page.evaluate()和page.evaluate_handle()之间的......
  • XeLaTeX 无法编译含有经过 pdfcrop 裁剪的 PDF 文件的文档
    今天在写LaTeX文档时踩了个大坑,我在文档里插入了一个PDF图片之后文档无法编译了。于是我去掉多余代码,做了一个最小工作示例:\documentclass{article}\usepackage{graphicx}\begin{document}\includegraphics{my_image.pdf}\end{document}就是这样一个简单的代码,pdfLa......
  • CSR客户端渲染和服务器端渲染(SSR)
    CSR指的是客户端渲染(Client-SideRendering)。在客户端渲染中,整个页面的渲染过程发生在用户的浏览器上,而不是在服务器上。在传统的服务器端渲染(SSR)中,服务器负责将页面的HTML内容完全渲染好,并将其发送给浏览器。但在客户端渲染中,浏览器会下载页面的初始HTML结构,然后使用JavaSc......
  • 使用 Playwright 复用 Cookie:简化自动化测试的高效方法
    前言在进行自动化测试时,有时需要在多个测试用例之间共享相同的会话状态。为了实现这一目标,Playwright提供了一种称为Cookie复用的功能,可以让我们在不同的测试用例之间共享同一组Cookie数据。本文将深入介绍如何使用Playwright复用Cookie,并探讨其使用方法和优势。什么是......