#!/usr/bin/env bash # 在 sandbox 容器里实测 `chromium --headless --print-to-pdf`(md→HTML→PDF 的 PDF 那段)。 # 区分「chromium 缺包」「纯启动超时(/dev/shm 64MB)」「只读 rootfs 下 user-data-dir 写不了」。 # 用法(服务器上,任选其一): # A) 进一个活着的 per-user 容器(最贴真,复用线上 64MB /dev/shm 默认): # C=$(docker ps --filter "label=zcbot.product=sandbox" --format '{{.Names}}' | head -1) # docker cp deploy/sandbox/probe_chromium_pdf.sh "$C":/tmp/probe.sh # docker exec "$C" bash /tmp/probe.sh # B) 没有活容器时,起一个临时的(显式 NOT 传 --shm-size,复现线上 64MB): # docker run --rm --read-only --tmpfs /tmp:exec,size=512m,mode=1777 \ # --cap-drop=ALL --security-opt=no-new-privileges \ # --entrypoint bash zcbot-sandbox:latest /dev/stdin < deploy/sandbox/probe_chromium_pdf.sh set -u CR="" for c in chromium chromium-browser /usr/bin/chromium; do command -v "$c" >/dev/null 2>&1 && { CR="$c"; break; } done echo "===== /dev/shm size (期望线上 64M) ====="; df -h /dev/shm echo "===== chromium 是否在 (缺包则这里就失败) =====" [ -n "$CR" ] && "$CR" --version 2>&1 | head -1 || { echo "[FAIL] chromium 缺包/不可执行"; exit 1; } # 测试输入:中文 + 表格背景色(print-color-adjust) + 化学式下标 + 超链接,覆盖简报常见元素 cd /tmp cat > in.html <<'HTML'
中文渲染、化学式 CO2 / C3S、DOI 超链接。
| 期刊 | 篇数 |
|---|---|
| Cement and Concrete Research | 11 |