
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Ghostscript Docker镜像基于Ghostscript工具构建,专注于PDF文件压缩功能。该镜像提供灵活的命令行配置选项,支持不同质量预设、页面范围处理及并行处理能力,帮助用户高效减小PDF文件大小,平衡文件尺寸与质量需求。
通过以下命令可直接进行PDF压缩:
bashdocker run --rm -v $(pwd):/workspace ghostscript gs -sDEVICE=pdfwrite -dPDFSETTINGS=/screen -dNOPAUSE -dBATCH -dQUIET -sOutputFile=out.pdf in.pdf
参数说明:
-sDEVICE=pdfwrite:指定输出设备为PDF写入-dPDFSETTINGS:质量预设,可选值:
/screen:屏幕显示优化(文件最小,质量较低)/ebook:电子书优化(平衡大小与质量)/printer:打印优化(较高质量)/prepress:印刷前优化(最高质量,文件最大)-dNOPAUSE:处理过程中不暂停-dBATCH:处理完成后自动退出-dQUIET:减少控制台输出信息-sOutputFile=out.pdf:指定输出文件名in.pdf:输入PDF文件路径(需通过-v挂载到容器内)对于包含大量页面的PDF文件,可使用并行处理脚本提升压缩效率。将以下脚本保存为compress_pdf.sh:
bash#!/usr/bin/env bash set -euo pipefail # 输入/输出参数 sIn="${1:?用法: $0 输入.pdf [输出.pdf] [任务数] [dpi] [预设(screen|ebook|printer|prepress)]}" sOut="${2:-out_parallel.pdf}" nJobs="${3:-4}" nDpi="${4:-120}" sPreset="${5:-screen}" # 自动检测页数(优先使用qpdf;fallback到pdfinfo) nPages="$(qpdf --show-npages "$sIn" 2>/dev/null || true)" if [[ -z "${nPages}" ]]; then nPages="$(pdfinfo "$sIn" | awk '/^Pages:/ {print $2}')" fi if [[ -z "${nPages}" ]]; then echo "错误:无法检测页数(需要qpdf或poppler-utils(pdfinfo))" >&2 exit 1 fi # 计算每个任务处理的页数(向上取整) nChunk=$(( (nPages + nJobs - 1) / nJobs )) # 创建临时工作目录并确保退出时清理 sTmpDir="$(mktemp -d)" trap 'rm -rf "$sTmpDir"' EXIT # Ghostscript压缩/下采样参数 sGsArgs="-sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/${sPreset} \ -dDownsampleColorImages=true -dColorImageResolution=${nDpi} \ -dDownsampleGrayImages=true -dGrayImageResolution=${nDpi} \ -dDownsampleMonoImages=true -dMonoImageResolution=300 \ -dNOPAUSE -dBATCH -dQUIET" # 生成并行处理的页面范围 sRanges="${sTmpDir}/ranges.txt" nStart=1 nPart=1 while (( nStart <= nPages )); do nEnd=$(( nStart + nChunk - 1 )) (( nEnd > nPages )) && nEnd="${nPages}" printf "%04d %d %d\n" "${nPart}" "${nStart}" "${nEnd}" >> "${sRanges}" nStart=$(( nEnd + 1 )) nPart=$(( nPart + 1 )) done # 并行运行Ghostscript处理每个页面范围 cat "${sRanges}" | xargs -n3 -P "${nJobs}" bash -c ' sPart="$0"; nFirst="$1"; nLast="$2"; sOutPart="'"${sTmpDir}"'/part_${sPart}.pdf" gs '"${sGsArgs}"' -dFirstPage="${nFirst}" -dLastPage="${nLast}" -sOutputFile="${sOutPart}" "'"${sIn}"'" ' # 合并生成的部分(保持顺序:part_0001.pdf, part_0002.pdf, ...) qpdf --empty --pages "${sTmpDir}"/part_*.pdf -- "${sOut}" # 最终摘要 echo "完成:${sOut} (页数=${nPages}, 任务数=${nJobs}, dpi=${nDpi}, 预设=${sPreset})"
使用步骤:
chmod +x compress_pdf.shbashdocker run --rm -v $(pwd):/workspace ghostscript ./compress_pdf.sh input.pdf output.pdf 4 120 screen
input.pdf:输入PDF文件(必填)output.pdf:输出PDF文件(可选,默认out_parallel.pdf)4:并行任务数(可选,默认4)120:图像分辨率(可选,默认120dpi)screen:质量预设(可选,默认screen)-dColorImageResolution、-dGrayImageResolution和-dMonoImageResolution参数分别设置彩色、灰度和单色图像的分辨率-dCompatibilityLevel=1.4设置输出PDF版本(1.4为兼容性较好的版本)-dDownsampleColorImages=true等参数启用图像下采样,进一步减小文件大小您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务