PDF 生成服务 Playwright · PHP 8

输入任意网址,服务通过无头 Chromium 渲染页面并生成 PDF,存于服务器本地。

接口地址:https://pdf-ai.agy.top/

快速开始

在浏览器或任意 HTTP 客户端中访问:

GET https://pdf-ai.agy.top/?url=https://example.com

返回 JSON:

{
  "ok": true,
  "url": "https://example.com",
  "path": "/opt/cxweb/data/pdfs/20260707_075116_100680ad546c.pdf",
  "filename": "20260707_075116_100680ad546c.pdf",
  "size": 14745,
  "download": "/pdfs/20260707_075116_100680ad546c.pdf"
}

在线试用

输入网址,点击生成,即可获得 PDF 下载链接。

请求参数

参数必填默认说明
url要转 PDF 的网页地址,必须以 http://https:// 开头
formatA4纸张格式,如 A4 / Letter / Legal
waitnetworkidle页面加载等待策略:load / domcontentloaded / networkidle
GET https://pdf-ai.agy.top/?url=https://example.com&format=A4&wait=networkidle

返回字段

字段类型说明
okbool是否成功
urlstring原始入参网址
pathstringPDF 在服务器上的绝对路径(/opt/cxweb/data/pdfs/
filenamestringPDF 文件名(时间戳 + URL 哈希)
sizeintPDF 文件字节数
downloadstring相对下载路径,拼接域名即可下载

错误响应

// 缺少 url
{"ok":false,"error":"Missing \"url\" parameter."}

// url 非法
{"ok":false,"error":"Invalid url. Must start with http:// or https://"}

// 生成失败
{"ok":false,"error":"PDF generation failed.","stdout":"...","stderr":"..."}

使用示例

cURL

curl -G "https://pdf-ai.agy.top/" \
  --data-urlencode "url=https://example.com"

PHP

$api = "https://pdf-ai.agy.top/?url=" . urlencode("https://example.com");
$res = json_decode(file_get_contents($api), true);
if ($res['ok']) {
    echo "PDF: " . $res['path'];
    echo "下载: https://pdf-ai.agy.top" . $res['download'];
}

Python

import requests, urllib.parse
api = "https://pdf-ai.agy.top/?" + urllib.parse.urlencode({"url":"https://example.com"})
res = requests.get(api).json()
if res["ok"]:
    print("路径:", res["path"])
    print("下载:", "https://pdf-ai.agy.top" + res["download"])

Node.js

const url = "https://pdf-ai.agy.top/?url=" + encodeURIComponent("https://example.com");
const res = await (await fetch(url)).json();
if (res.ok) console.log("下载:", "https://pdf-ai.agy.top" + res.download);

说明

提示:本服务用于将公开网页转为 PDF,请勿用于抓取需要登录或违反目标站点条款的内容。