分享段 HTML to PDF 的 NodeJs代码

最近工具箱增加的一个功能:
在这里插入图片描述

代码如下:

const puppeteer = require('puppeteer');
const moment = require('moment');const TAG = '[convertTopPdf]';async function html2pdf(url, wantFileName) {console.log(TAG, 'convertTopPdf start, url:', url);const now = new Date();const formattedDate = moment(now).format('YYYYMMDDHHmmss');const saveFileName = wantFileName ? wantFileName : `${formattedDate}.pdf`;console.log(TAG, 'convertTopPdf start, url:', url, ', saveFileName:', saveFileName);const browser = await puppeteer.launch({headless: true,args:['--no-sandbox', '--disable-web-security'],});const page = await browser.newPage();await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36');await page.setBypassCSP(true);await page.goto(url, {waitUntil: 'networkidle0'});await page.emulateMediaType('screen');await page.pdf({path: saveFileName,printBackground: true,format: 'A5'});await browser.close();console.log(TAG, 'convertTopPdf end');
}module.exports = {html2pdf};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1548232.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

QT 获取视频帧Opencv获取清晰度

先展示结果&#xff1a; 1.获取摄像头的分辨率 mResSize.clear();mResSize camera_->supportedViewfinderResolutions();ui->comboBox_resulation->clear();int i0;foreach (QSize msize, mResSize) {qDebug()<<msize;ui->comboBox_resulation->addItem(…

mp4(H.265编码)转为本地RTSP流

目标&#xff1a;获得H265码流&#xff0c;要么通过在线网址&#xff0c;要么获得H265文件自己产生码流 在以下任意网址中下载得到H265编码的MP4文件 http://www.elecard.com/en/download/videos.html http://ultravideo.cs.tut.fi/#testsequences http://4k.cablelabs.com/](…

数据库软题4-关系代数转SQL语言

题1 因为是笛卡尔积 <ABCD CDE> <1234 567> 笛卡尔积 RxS FROM R&#xff0c;S题2 题3 题4 题5

图像分割(九)—— Mask Transfiner for High-Quality Instance Segmentation

Mask Transfiner for High-Quality Instance Segmentation Abstract1. Intrudouction3. Mask Transfiner3.1. Incoherent Regions3.2. Quadtree for Mask RefinementDetection of Incoherent Regions四叉树的定义与构建四叉树的细化四叉树的传播 3.3. Mask Transfiner Architec…

【JavaScript】搭建一个具有记忆的简洁个人待办网页

1. HTML 结构 文档类型声明&#xff1a;<!DOCTYPE html>这告诉浏览器这是一个 HTML5 文档。HTML 标签&#xff1a;<html lang"zh-CN">表示整个页面的内容&#xff0c;lang"zh-CN" 表示内容使用简体中文。头部信息&#xff1a;<head><…

文笔差只因没找对工具,这5个AI帮你变身写作高手!

在详细评估了超过二十种AI写作辅助应用后&#xff0c;我挑选了四款特别出色的工具来向您介绍。这些工具不仅能显著提高您的写作速度&#xff0c;而且在特定用途下能够创造出优秀的内容&#xff0c;从而避免了一些常见的AI写作缺陷。 通常情况下&#xff0c;对AI生成内容感到不…

【漏洞复现】Yearning数据库审计平台 front 任意文件读取漏洞

一、产品介绍 一款MYSQL SQL语句/查询审计开源工具&#xff0c;Yearning支持SQL查询、SQL审核、推送、用户权限及管理等功能&#xff0c;为DBA与开发人员使用&#xff0c;简单高效的MYSQL审计平台。 二、漏洞描述 该系统Yearning 2.3.1 版本、Interstellar GA 2.3.2 版本和 N…

Mybatis详细教程 (万字详解)

Mybatis 3.5.14 来自于B站‘天气预报’,一名宝藏up,跟着他可以培养起独立解决编程问题的能力&#xff01;&#xff01;&#xff01; 01.简介 1.1 官网 官方中文网: MyBatis中文网 中文网参考手册 1.2 概念 MyBatis 是一款优秀的持久层框架&#xff0c;支持自定义 SQL, 存储过…

【含文档】基于Springboot+Vue的高校竞赛管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 系统定义了三个…

机器学习学习笔记-20240927

文章目录 一些简单的指令数据操作广播机制 标量&#xff0c;向量&#xff0c;矩阵的相互求导1. 标量对标量的求导2. 标量对向量的求导3. 向量对标量的求导4. 向量对向量的求导5. 矩阵对标量的求导6. 矩阵对向量的求导 链式求导法则YYDS求出损失函数偏导为0时的最优解w*1. 损失函…

昇思MindSpore进阶教程-格式转换

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 MindSpore中可以把用于训练网络模型的数据…

打造未来社交:区块链社交DAO的颠覆性开发之路

随着区块链技术的不断发展&#xff0c;去中心化自治组织&#xff08;DAO&#xff09;逐渐成为一种创新的社交模式。结合区块链的透明性和不可篡改性&#xff0c;社交DAO为用户提供了一种全新的参与和治理方式&#xff0c;重塑了社交网络的构建与互动方式。本文将探讨区块链社交…

【鸿蒙】HarmonyOS NEXT应用开发快速入门教程之布局篇(上)

系列文章目录 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器&#xff08;上&#xff09; 【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器&#xff08;下&#xff09; 【鸿蒙】HarmonyOS NEXT应用开发快速入门教程之布局篇&#xff08;上&#xff09; 文…

Python画笔案例-066 绘制橙子

1、绘制橙子 通过 python 的turtle 库绘制 橙子,如下图: 2、实现代码 绘制 橙子,以下为实现代码: """橙子.py注意亮度为0.5的时候最鲜艳本程序需要coloradd模块支持,安装方法:pip install coloradd程序运行需要很长时间,请耐心等待。可以把窗口最小化,然后…

教师工作量在线管理服务

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

springAOP和spring事务

AOP 1.简介 Aop面向切面编程&#xff1a;在开发中我们不能直接对已经设计好的代码进行修改&#xff08;开放-封闭原则&#xff0c;对扩展开放&#xff0c;对修改封闭&#xff09;&#xff0c;解耦 AOP的底层实现为动态代理 * Target&#xff08;目标对象&#xff09;&#…

专业网站建设必备

专业网站建设不仅仅是简单的页面搭建&#xff0c;更是一项综合性的工程&#xff0c;需要结合行业特性、用户体验和技术创新&#xff0c;打造一个符合企业需求、独具特色的线上空间。 第一印象至关重要 一个企业网站就如同公司的数字名片&#xff0c;第一印象往往决定了用户是否…

衡石分析平台系统管理手册-功能配置之全局 JS 设置

全局 JS 设置​ 衡石系统提供了全局 JS 设置功能&#xff0c;用户可以通过自定义 JS 代码实现系统的个性化需求&#xff0c;如使用第三方统计工具对系统平台的 PV 、UV 进行监测。 使用场景​ 场景1&#xff1a;增加百度统计​ 下图示例中使用 js 代码引用了百度网站统计功…

MQTT.fx 1.7.1使用说明篇(OneNET-MQTT-API调试)

&#xff08;代码完美实现&#xff09;stm32 新版 onenet mqtt物联网(保姆级教程) &#xff08;代码完美实现&#xff09;stm32 新版 onenet mqtt物联网(保姆级教程)https://blog.csdn.net/Wang2869902214/article/details/142501323 MQTT.fx 1.7.1使用教程 下载地址 MQ…

深圳龙链科技:全球区块链开发先锋,领航Web3生态未来

【深圳龙链科技】是全球领先的Web3区块链技术开发公司&#xff0c;专注于为全球客户提供创新高效的区块链解决方案。 深圳龙链科技由币安资深股东携手香港领先的Web3创新枢纽Cyberport联袂打造&#xff0c;立足于香港这一国际金融中心&#xff0c;放眼全球&#xff0c;汇聚了华…