HTML-PDF-Chrome 项目使用教程

HTML-PDF-Chrome 项目使用教程

html-pdf-chromeHTML to PDF or image (jpeg, png, webp) converter via Chrome/Chromium项目地址:https://gitcode.com/gh_mirrors/ht/html-pdf-chrome

项目目录结构及介绍

HTML-PDF-Chrome 项目的目录结构如下:

html-pdf-chrome/
├── src/
│   ├── index.js
│   ├── config.js
│   └── utils/
│       └── helper.js
├── test/
│   └── index.test.js
├── .gitignore
├── LICENSE
├── README.md
└── package.json

目录结构说明

  • src/: 包含项目的主要源代码文件。
    • index.js: 项目的入口文件。
    • config.js: 项目的配置文件。
    • utils/: 包含一些辅助工具函数。
      • helper.js: 辅助工具函数文件。
  • test/: 包含项目的测试文件。
    • index.test.js: 入口文件的测试。
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文档。
  • package.json: 项目依赖和脚本配置文件。

项目的启动文件介绍

项目的启动文件是 src/index.js。该文件主要负责初始化项目并启动服务。以下是 index.js 的主要内容:

const express = require('express');
const { convert } = require('./config');

const app = express();

app.get('/convert', async (req, res) => {
  try {
    const pdf = await convert(req.query.url);
    res.contentType('application/pdf');
    res.send(pdf);
  } catch (error) {
    res.status(500).send(error.message);
  }
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

启动文件说明

  • 引入 express 模块创建一个 Express 应用。
  • 引入 config.js 中的 convert 函数,用于将 HTML 转换为 PDF。
  • 定义一个 /convert 路由,接收 URL 参数并调用 convert 函数生成 PDF 文件。
  • 启动服务器,监听端口 3000。

项目的配置文件介绍

项目的配置文件是 src/config.js。该文件主要负责配置项目的各种参数和功能。以下是 config.js 的主要内容:

const chromeLauncher = require('chrome-launcher');
const CDP = require('chrome-remote-interface');

async function convert(url) {
  const chrome = await chromeLauncher.launch({
    chromeFlags: ['--headless', '--disable-gpu', '--no-sandbox']
  });

  const protocol = await CDP({ port: chrome.port });
  const { Page, Emulation } = protocol;

  await Promise.all([Page.enable()]);

  await Page.navigate({ url });
  await Page.loadEventFired();

  const { data } = await Page.printToPDF();

  await protocol.close();
  await chrome.kill();

  return Buffer.from(data, 'base64');
}

module.exports = { convert };

配置文件说明

  • 引入 chrome-launcherchrome-remote-interface 模块,用于启动无头 Chrome 并进行远程控制。
  • convert 函数接收一个 URL 参数,启动无头 Chrome,加载页面并将其转换为 PDF。
  • 使用 chrome-launcher 启动无头 Chrome,并使用 chrome-remote-interface 进行远程控制。
  • 加载页面并等待页面加载完成,然后调用 Page.printToPDF 生成 PDF 文件。
  • 关闭协议和 Chrome 进程,返回生成的 PDF 文件。

以上是 HTML-PDF-Chrome 项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用该项目。

html-pdf-chromeHTML to PDF or image (jpeg, png, webp) converter via Chrome/Chromium项目地址:https://gitcode.com/gh_mirrors/ht/html-pdf-chrome

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纪越岩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值