码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • puppeteer只生成一页pdf的问题


    由于wkhtmltopdf这个玩意生成pdf兼容性太差了,这也不行那也不行,最终找到了puppeteer,发现它支持单页面的生成pdf,简直不要太完美,但它对于后端python大多是异步的,不知是否最终能用起来,但先用node试试其效果。
    
    const puppeteer = require('puppeteer');
    
    (async () => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      await page.goto('http://localhost:8900/renzhi',{ waitUntil: 'networkidle0' });
      // await page.setViewport({'width': 1600, 'height': 2048});
      const dimensions = await page.evaluate(() => {
        return {
          width: document.getElementById("app").scrollWidth + 100,
          height: document.getElementById("app").scrollHeight + 100,
          deviceScaleFactor: window.devicePixelRatio
        };
      });
      console.log(dimensions,'dimensions')
      await page.pdf({
        path: 'example3.pdf',
        format: 'A4',
        printBackground: true,
        scale:0.8,
        width: dimensions.width,
        height: dimensions.height
      });
      await browser.close();
    })();

    执行node 文件名之后,信息打印高度是没有问题的,但不管改那个,都只生成了一页的pdf,最后查看页面发现html,body的高度只有可视窗口的高度,而子级才是拥有整个页面的高度,然后对html,body进行设置后得到和子级一样的高度后,再次生成pdf即为完整的pdf,完美。

  • 相关阅读:
    【实测】python模拟jenkins的定时设置时间库:------------------【 python_jenkins_monitor 】
    gabse 8a基础语法概念问题
    【数据结构】单链表OJ题
    Shell编程_0Linux任务调度
    Java HashMap常见面试题
    探索云原生数据库,纵观未来科技发展
    Go语言hash/fnv应用实战:技巧、示例与最佳实践
    LeetCode:318. 最大单词长度乘积(C++)
    概率论的一些知识
    陕西直销系统开发如何让别人听你讲?
  • 原文地址:https://blog.csdn.net/qq_39966730/article/details/126499216
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号