Change permissions of PDF
通过API上传PDF并设置编辑、打印、复制等权限,返回加密后的下载链接。
支持PDF与图片压缩,自动切换Python/Node后端,优化存储与传输大小。
openclaw skills install @hexavi8/file-compression命令、参数、文件名以原文为准
使用以 Python 为主的工作流,辅以 Node.js 的备用工作流进行文件压缩。
.pdf.jpg、.jpeg、.png、.webp必需的二进制工具:
python3(建议版本 >= 3.8)nodegs(Ghostscript,用于 PDF Ghostscript 路径)Python 安装指令:
python3 -m pip install -r {baseDir}/requirements.txtNode 安装指令:
cd {baseDir}
npm installGhostscript 安装示例:
brew install ghostscriptsudo apt-get update && sudo apt-get install -y ghostscript安全提示:
PDF(scripts/compress_pdf.py):
--preset screen|ebook|printer|prepress--strategy auto|ghostscript|pikepdf--remove-metadata--no-linearize--overwritePDF Node(scripts/compress_pdf_node.mjs):
--preset screen|ebook|printer|prepress图像(scripts/compress_image.py):
--quality <1-100>--format keep|jpeg|png|webp--max-width <n>--max-height <n>--strategy auto|pillow|node--overwrite图像 Node(scripts/compress_image_node.mjs):
--quality <1-100>--format keep|jpeg|png|webp--max-width <n>--max-height <n>PDF 默认压缩:
python {baseDir}/scripts/compress_pdf.py in.pdf out.pdfPDF 高度压缩模式:
python {baseDir}/scripts/compress_pdf.py in.pdf out.pdf --preset screen --strategy ghostscript使用 pikepdf 压缩 PDF:
python {baseDir}/scripts/compress_pdf.py in.pdf out.pdf --strategy pikepdf --remove-metadata通过 Node 执行 PDF 压缩:
node {baseDir}/scripts/compress_pdf_node.mjs in.pdf out.pdf --preset ebook图像默认压缩:
python {baseDir}/scripts/compress_image.py in.jpg out.jpg --quality 75图像转换并缩放:
python {baseDir}/scripts/compress_image.py in.png out.webp --format webp --quality 72 --max-width 1920强制使用 Node 后端压缩图像:
python {baseDir}/scripts/compress_image.py in.jpg out.jpg --strategy node --quality 70直接使用 Node 压缩图像:
node {baseDir}/scripts/compress_image_node.mjs in.jpg out.jpg --quality 70 --max-width 1600按以下顺序检查并安装依赖:
python3 --version(备用:python --version)node --versiongs --version(PDF Ghostscript 路径所需) - pip install pikepdf
- pip install pillow
- npm install
备用策略:
ghostscript → pikepdf → node-ghostscriptpillow → node-sharp若 python3.8+ 不可用,尝试 python3.11/3.10/3.9/3.8;若仍不可用,在可能的情况下改用 Node 流程。
始终清晰传达每一步操作:
pip install、npm install、大型 Ghostscript 任务),提示正在等待。当输出文件大小 ≥ 输入文件大小时,不立即终止:
<before_size> 到 <after_size>,压缩比为 <ratio>%。- PDF:文件已优化、扫描图像内容、元数据开销、预设不匹配。
- 图像:格式转换不当、质量过高、小文件本身开销大。
- PDF:ebook → screen,随后切换后端。
- 图像:降低质量、切换后端、转为 webp 格式,可选缩放。
每次完成压缩任务后,必须返回:
from <before_size> to <after_size>。saved <delta_size> (<ratio>%)。已收录 1 个 Skill