只发 PDF 的其中几页:提取页面、删除页面,以及文件里还留着什么
只想发 PDF 的几页,可以在“提取页面”里写要留的页,或在“删除页面”里写要删的页。页面正文会被去掉,但书签标题和文档标题可能还留在新文件里。
提取页面能把一份 12 页的 PDF 变成只含你列出页码(如 1,3,5-8)的新 PDF;删除页面反过来,你写要去掉的页。两者都是把原页面复制过去,不重新绘制,所以文字仍可选中,也不会变模糊。如果被去掉的页面涉及敏感内容,有一点要留意:页面内容确实没了,书签标题和文档标题却可能还在新文件里。
知道留哪几页就提取,知道删哪几页就删除
要留的页清楚,用“提取页面”;要删的页清楚,用“删除页面”。两者的区别体现在结果的页序上:
- 提取页面按你输入的顺序排页。输入
5,1,3,结果依次是第 5 页、第 1 页、第 3 页;同一页写两次只出现一次。 - 删除页面保留原有顺序,只是少了几页。
页码就是阅读器里显示的页码,从 1 开始。两个工具的页码写法相同:单页(4)、范围(5-8)、逗号列表(1,3,5-8)、单词 all,以及 2n+1 这样的表达式。表达式里的 n 从 1 算起,所以 2n+1 得到第 3、5、7 页……不含第 1 页;想要第 1 页就写 1,2n+1。
完整示例:只给房东发租约的一部分
输入是一份 12 页 Letter 尺寸的租约。每页正文里都印着自己的页码(“Lease agreement - page 3 of 12”),方便核对结果。房东只需要第 1、3、5 至 8 页,不需要附录。在浏览器里上传文件、输入 1,3,5-8、下载结果即可。用脚本调用,同一个操作是:
curl -s -o pages.pdf \
-F [email protected] \
-F pageNumbers="1,3,5-8" \
https://pdf123.xyz/api/v1/general/rearrange-pages
网页上的工具把页码列表发到这个端点,且不设置 customMode,含义是“按我写的列表、按我写的顺序”。下表是 2026-10-04 在本地服务器上对一份生成的测试文件跑出来的结果,内容是输出的页数和从输出里提取的页码标签:
| 输入 | 工具 | 结果中的页 |
|---|---|---|
1,3,5-8 |
提取页面 | 6 页:1、3、5、6、7、8 |
5,1,3,1 |
提取页面 | 3 页:5、1、3 |
2n+1 |
提取页面 | 5 页:3、5、7、9、11 |
10-15 |
提取页面 | 3 页:10、11、12 |
2-4,9 |
删除页面 | 8 页:1、5、6、7、8、10、11、12 |
| 留空(仅接口;网页表单必填) | 删除页面 | 全部 12 页,等于原文件 |
下载回来的文件沿用你上传的文件名,发出去之前先改名,否则磁盘上会有两个 lease.pdf。
会报错的三种输入,以及报错的样子
不存在的页码是错误,不会被悄悄跳过。对 12 页的文件要第 13 页,返回 400(page_out_of_range):Page 13 does not exist; the document has 12 pages. 第 0 页同样被拒绝。不是页码列表的文字,比如 abc,返回 400,原因是 invalid_page_selection,并提示写成 1,3,5-8 或 all 这样的形式。两个工具在这点上行为一致,所以手误不会产出一份看似正常、实则错误的文件。
还有两个不太明显的情形。起点在文档内、终点超出的范围会被截断:12 页的文件上写 10-15,得到的是第 10 至 12 页。另外,删除页面拒绝删光所有页:1-12 返回 400(would remove every page, which leaves nothing to return),因为没有页的 PDF 不存在。
有密码的文件,在网页上需要先输入密码;直接调用接口则要先跑解锁。
文件里还留着什么:删掉一页不等于涂黑一页
提取会丢掉未列出页面的页面对象,页面里的文字和图片随之消失。测试中,提取出的文件里找不到被丢弃页面的任何文字,原始字节里也没有留下痕迹。提取不会清除的,是其他提到这些页面的信息。
这次的租约带有文档标题(“Lease - Unit 4B, J. Rivera”)和两条书签:第 1 页的“Signature page”、第 12 页的“Tenant SSN appendix”。用提取页面只留第 1、2 页之后,文件只有 2 页,而阅读器的书签面板仍然列出两个标题,第二条已经指向空处。标题和作者也还在文档属性里。对第 12 页做删除页面,结果同样保留了这两条书签。
清理在勾选元数据选项时会清除文档信息和 XMP 元数据,处理后文档属性确实是空的。网页表单默认勾选这些选项;直接调接口要自己传 removeMetadata=true。清理不碰书签,两个标题依然在。网页上没有编辑书签的工具;接口操作 general/edit-table-of-contents 用 JSON 列表替换书签,列表至少要有一项,所以不能直接清空。测试里它还把旧标题文字作为无引用的对象留在了文件里,阅读器看不到,原始字节里仍能读到。不要指望它藏住书签标题。
所以被删页面涉及敏感内容时,稳妥的做法是打开结果文件,看书签面板和文档属性,里面没有泄露内容再发。如果书签标题本身就是秘密,这条路去不掉它。如果保留页上有必须去掉的可见文字,要用自动涂黑,见分享之前。