feat: PDF 导出脚本支持三页合一
逐页渲染 page1/page2/page3 并用 pypdf 合并为单个 PDF,默认输出 dist/三页demo.pdf; --page 改为可多值的 --pages(保留旧名),每页各自校验四边 1em 与 Zpix 字体。 README 同步导出用法与各页说明。
This commit is contained in:
1 parent
7a39a8fe2c
commit
f1888fbaf8
4 files changed
+96
-34
No files matched your search
@@ -53,8 +53,8 @@ python -m http.server 8000
|
||||
现有页面:
|
||||
|
||||
- `page1.html`:完整日落城市文字画,空白处铺淡色「天」。
|
||||
- `page2.html`:无「天」背景;底排「地」,其上以「桌」「椅」「枪」摆出桌子、椅子与枪。
|
||||
- `page3.html`:无「天」背景的演职员表;含 35 个演职员 nametag、电线、麻雀、草、消防栓与下半屏火山。
|
||||
- `page2.html`:空白处铺淡色「墙」;底排「地」,其上以「桌」「椅」摆出桌子与椅子,桌面立「酒杯」「烛」与火,右下角「桶」包「酒」作酒桶,右上角「链」「笼」「灯」「穗」拼出灯笼,墙上以「框」包「图」作画框,前景为「酒水单」与两列曲目。
|
||||
- `page3.html`:空白处铺淡色「黑」的演职员表;含 36 个演职员 nametag、电线、麻雀、草、消防栓与下半屏火山,nametag 与「演职员表」四周的空白格不铺背景。
|
||||
|
||||
共用与专属:
|
||||
|
||||
@@ -65,22 +65,25 @@ python -m http.server 8000
|
||||
|
||||
## 导出 PDF
|
||||
|
||||
使用 Playwright(由 uv 管理)导出,页面尺寸为 30em × 46em:28 × 44 格的画面,四周各留恰好 1em。
|
||||
使用 Playwright(由 uv 管理)导出,页面尺寸为 30em × 46em:28 × 44 格的画面,四周各留恰好 1em。默认把三张页面合成一份三页 PDF。
|
||||
|
||||
```bash
|
||||
uv sync
|
||||
uv run python scripts/export_pdf.py # 默认导出 page1.html 到 dist/封面demo.pdf
|
||||
uv run python scripts/export_pdf.py --page page3.html -o dist/page3.pdf
|
||||
uv run python scripts/export_pdf.py --em 16 -o dist/封面demo-16.pdf
|
||||
uv run python scripts/export_pdf.py # 三页 → dist/三页demo.pdf
|
||||
uv run python scripts/export_pdf.py --page page2.html -o dist/page2.pdf
|
||||
uv run python scripts/export_pdf.py --pages page1.html page3.html -o dist/选页.pdf
|
||||
uv run python scripts/export_pdf.py --em 16 -o dist/三页demo-16.pdf
|
||||
```
|
||||
|
||||
`--page` / `--pages` 按给定顺序逐页渲染后用 pypdf 合并,只传一个页面即得到单页 PDF。
|
||||
|
||||
脚本优先调用本机 Edge / Chrome;若都未安装,可先下载 Playwright Chromium:
|
||||
|
||||
```bash
|
||||
uv run playwright install chromium
|
||||
```
|
||||
|
||||
导出页为黑底满幅,画面距上、下、左、右边界各 1em;脚本会在导出前校验该边距。默认 `--em 24` 时输出 720 × 1104 px(约 190 × 292 mm)。
|
||||
导出页为黑底满幅,画面距上、下、左、右边界各 1em;脚本会在导出前逐页校验该边距。默认 `--em 24` 时每页输出 720 × 1104 px(约 190 × 292 mm)。
|
||||
|
||||
## 调整指南
|
||||
|
||||
|
||||
Reference in new issue
Block a user