# PDF、HTML 生成服务
> 基于 puppeteer koa 的 pdf、html 生成服务
## 部署
### node相关环境
1. 安装 Node V16.18.1 版本
2. 安装 yarn
```
npm install -g yarn
```
3. 安装项目依赖
```
yarn install
```
> puppeteer 需要安装 chrome,需接入国际互联网。
```
npx @puppeteer/browsers install chrome@latest
```
### nginx API代理
1. 将当前服务 http://localhost:8088 对外提供。
2. 将 /prod-api/* 的请求代理到测试环境,或正式环境。
```
# 该配置未经测试,仅供参考,请自行配置
location /prod-api/ {
proxy_pass https://www.jianyu360.cn/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
## 启动
`
yarn run serve
`
## 访问
### 可视化界面-生成服务
`
http://localhost:8088/page_big_pc/#/pdf-create
`
### 生成PDF接口
`
http://localhost:8088/api/to-pdf/文件名?dir=目录名&url=https://www.baidu.com?search=test
`
### 生成HTML接口
> 已锁定页面ID选择器,不支持自定义页面生成,仅限 page_big_pc/#/html-report 页面可用
`
http://localhost:8088/api/to-html/文件名?dir=目录名&url=https://www.baidu.com?search=test
`
## 配置项
dir: 目录名
width: puppeteer设置 宽度
height: puppeteer设置 高度
... 更多 puppeteer 设置
url: 页面URL(如含有query参数,务必作为最后一个参数,详见代码参数截取逻辑)