demo2doc-Pdf.sh 996 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. # ============================================================
  3. # demo2doc-Pdf.sh
  4. # 自动截图所有角色/页面并生成横版A4 PDF文档
  5. # 输出: prd/nwafu-exam-demoImages-202604.pdf
  6. # ============================================================
  7. set -e
  8. SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
  9. PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
  10. echo "=== 安全教育考试系统 Demo 截图生成工具 ==="
  11. echo "项目根目录: $PROJECT_ROOT"
  12. echo ""
  13. # 检查 node
  14. if ! command -v node &> /dev/null; then
  15. echo "错误: 未找到 node,请先安装 Node.js"
  16. exit 1
  17. fi
  18. # 检查/安装 puppeteer-core
  19. if ! node -e "require('puppeteer-core')" 2>/dev/null; then
  20. echo "正在安装 puppeteer-core..."
  21. cd "$PROJECT_ROOT"
  22. npm install puppeteer-core --save-dev --no-fund --no-audit
  23. echo ""
  24. fi
  25. echo "开始截图..."
  26. echo ""
  27. node "$SCRIPT_DIR/screenshot.js"
  28. echo ""
  29. echo "=== 完成 ==="
  30. echo "PDF文件位置: $PROJECT_ROOT/prd/nwafu-exam-demoImages-202604.pdf"