PDF 工具集
PDF 文件信息、在线预览、页面提取、转图片、文本提取、水印、旋转、合并,全部在浏览器本地处理
点击选择 PDF 文件,或将文件拖拽到此处
| 属性 | 值 |
|---|
页面预览(前 6 页)
功能说明:从 PDF 中提取指定页面,生成新的 PDF 文件。
支持单页(
3)、多页(1,3,5)和范围(2-8)混合写法,例如 1,3,5-8,10。
适合从长文档中截取特定章节或页面。
功能说明:将 PDF 每页渲染为图片,支持 JPEG、PNG(透明背景)、WebP 三种格式。
2x 倍率适合日常使用,3x 适合需要高清打印的场景。
转换完成后可逐页下载,也可点击「全部下载」批量保存。
转换结果
功能说明:提取 PDF 中的可选文本内容,支持全部页面或指定范围。
提取结果可复制到剪贴板或下载为
.txt 文件。
注意:扫描版 PDF(图片型)无法提取文本,需要 OCR 工具处理。
提取结果
功能说明:为 PDF 每页添加文字水印,完整支持中文、日文等非 Latin 字符。
支持自定义文字、字号、颜色、透明度、旋转角度,以及居中或平铺两种布局方式。
水印通过 Canvas 渲染为 PNG 图片后嵌入 PDF,确保中文字符完整显示。
功能说明:旋转 PDF 指定页面的方向,支持顺时针 90°、180°、逆时针 90° 三种角度。
可指定页码范围(留空则旋转全部页面),适合修正扫描方向错误的文档。
点击选择多个 PDF,或拖拽到此处
已选文件
功能说明:将多个 PDF 文件按选择顺序合并为一个 PDF。
支持拖拽多文件到上传区,文件列表会显示合并顺序。
至少需要选择 2 个文件,合并后自动下载。
关于 PDF 加密
pdf-lib 1.x 不支持 PDF 标准加密(AES-256/RC4),因此本工具不提供加密功能,以免产生"假加密"误导用户。
推荐使用以下命令行工具进行真正的 PDF 加密与解密:
使用 qpdf 加密 PDF
# 设置用户密码和所有者密码(AES-256 加密)
qpdf --encrypt 用户密码 所有者密码 256 -- input.pdf output.pdf
# 仅设置打开密码
qpdf --encrypt 打开密码 "" 256 -- input.pdf output.pdf
# 禁止打印和复制
qpdf --encrypt 用户密码 所有者密码 256 --print=none --modify=none --extract=n -- input.pdf output.pdf
qpdf --encrypt 用户密码 所有者密码 256 -- input.pdf output.pdf
# 仅设置打开密码
qpdf --encrypt 打开密码 "" 256 -- input.pdf output.pdf
# 禁止打印和复制
qpdf --encrypt 用户密码 所有者密码 256 --print=none --modify=none --extract=n -- input.pdf output.pdf
使用 qpdf 移除密码
# 移除 PDF 密码保护
qpdf --password=你的密码 --decrypt input.pdf output.pdf
# 安装 qpdf(macOS)
brew install qpdf
# 安装 qpdf(Ubuntu/Debian)
sudo apt-get install qpdf
qpdf --password=你的密码 --decrypt input.pdf output.pdf
# 安装 qpdf(macOS)
brew install qpdf
# 安装 qpdf(Ubuntu/Debian)
sudo apt-get install qpdf
关于 PDF 工具集
- 基于 Mozilla PDF.js(预览/文本提取)和 pdf-lib(编辑操作)两个开源库,在浏览器本地处理 PDF
- 支持:文件信息查看、在线预览、页面提取、转图片(JPEG/PNG/WebP)、文本提取、文字水印(支持中文)、页面旋转、多文件合并
- 水印功能通过 Canvas 渲染中文文字为图片后嵌入 PDF,完整支持中文、日文等非 Latin 字符
操作说明
- 上传 PDF 后,切换顶部选项卡选择所需功能,填写参数后点击对应操作按钮
- 「合并」功能有独立的文件选择区,可同时选择多个 PDF 文件
- 页码范围格式:
1,3,5-8(逗号分隔单页,连字符表示范围,从 1 开始) - 支持拖拽 PDF 文件到上传区域;点击「新页面预览」可用 PDF.js 官方 viewer 查看
注意事项
- 加密/有密码保护的 PDF 无法直接处理,请先用 qpdf 移除密码保护(见「加密说明」选项卡)
- 扫描版 PDF(图片型)无法提取文本,需要 OCR 工具处理
- 转图片时,页数较多或分辨率较高时处理时间较长,请耐心等待
- 所有处理均在浏览器本地完成,不会上传任何数据
PDF 格式知识详解
PDF 文件结构
| 组成部分 | 说明 |
|---|---|
| 文件头(Header) | 标识 PDF 版本,如 %PDF-1.7 |
| 对象体(Body) | 包含页面、字体、图片等所有内容对象 |
| 交叉引用表(XRef) | 记录每个对象的字节偏移量,用于随机访问 |
| 文件尾(Trailer) | 指向根对象和 XRef 表,包含文档元数据 |
常用 PDF 处理工具对比
| 工具 | 平台 | 特点 | 适用场景 |
|---|---|---|---|
| PDF.js | 浏览器 | 开源,Mozilla 出品 | 在线预览、文本提取 |
| pdf-lib | 浏览器/Node.js | 纯 JS,支持创建和修改 | 页面操作、水印、合并 |
| Ghostscript | 跨平台 | 命令行,功能强大 | 格式转换、压缩 |
| qpdf | 跨平台 | 命令行,专注结构操作 | 加密、解密、修复 |
命令行工具速查
# pdftk:合并多个 PDF
pdftk file1.pdf file2.pdf cat output merged.pdf
# pdftk:提取第1-5页
pdftk input.pdf cat 1-5 output extracted.pdf
# qpdf:加密 PDF(AES-256)
qpdf --encrypt USER_PWD OWNER_PWD 256 -- input.pdf output.pdf
# qpdf:移除密码
qpdf --password=PWD --decrypt input.pdf output.pdf
# Ghostscript:PDF 转图片(300dpi)
gs -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=page%d.jpg input.pdf -c quit
pdftk file1.pdf file2.pdf cat output merged.pdf
# pdftk:提取第1-5页
pdftk input.pdf cat 1-5 output extracted.pdf
# qpdf:加密 PDF(AES-256)
qpdf --encrypt USER_PWD OWNER_PWD 256 -- input.pdf output.pdf
# qpdf:移除密码
qpdf --password=PWD --decrypt input.pdf output.pdf
# Ghostscript:PDF 转图片(300dpi)
gs -dNOPAUSE -sDEVICE=jpeg -r300 -sOutputFile=page%d.jpg input.pdf -c quit