ek4t 打开下载页后,在「输入密码」框里填这 4 位,再点它下方的按钮即可下载,不用注册、不用登录。

主界面:10 页文件填好 3,5-7 并点过「标记提取所选页」,四页状态变为「将提取」,预览行写着「将提取 4 页 / 共 10 页,顺序与原文件一致」
这个工具解决什么问题
「把这几页单独拿出来」看着是十秒钟的事,真做起来有几种常见的难受法:阅读器自带的打印功能要选「打印为 PDF」,出来的文件文字变成一层图片、字号全乱;专业编辑器的提取页面是收费功能;免费工具大多要在页面上按住 Ctrl 一页一页点,几百页的标书翻到底也找不全;更常见的是在线提取站——先把整份合同、病历、财务报表传上去,处理完再下载回来。还有一类更省事的做法是把不要的页删掉,但删完就盖住了原文件,删错了连反悔的地方都没有。
- 原来的做法:开在线提取网站 → 上传整份文件 → 排队 → 下载;或者用阅读器的「组织页面」按住 Ctrl 一页页勾选,再另存
- 用这个工具:右键 PDF 选「提取PDF页..」(或把文件拖进窗口)→ 填要哪几页 → 点「标记提取所选页」看清取几页 → 点「保存提取结果」另存新文件
- 省下来的:不用上传下载、不用注册,没有页数和体积的额度限制;保存前可以反复改选、整批反选、一键取消,源文件始终不改
技术实现
Windows 桌面程序,.NET Framework 4.8 + WinForms 界面,PDF 处理用 PdfSharp。提取走的是页面级搬运:以 PdfDocumentOpenMode.Import 打开源文件,新建一个空文档,按原顺序把被标记提取的页逐页 Pages.Add() 搬进去,再另存为输出文件。全程不渲染、不重编码,所以文字仍是可复制的文字、矢量仍是矢量、内嵌字体和超链接原样保留,画面质量与「变糊」完全无关;151 MB 的文件取一页保存实测 1.9 秒。
- 搬运而不是重写:被选页的对象树整体迁移,不做位图化。40 页 / 151.1 MB 的文件只取第 2 页,输出 1 页 / 3.8 MB,体积按取出的页自然收缩,进程峰值内存 250 MB
- 取的是页码,不是勾选:输入框里写的是「要提取的页」,支持
2,8-10这种混写;自动去重、乱序归一成升序(8-10,2与2,8-10等价),中英文逗号都认 - 填错当场说清:越界(
8但只有 7 页)、起止倒置(3-1)、1-2-3、非数字、空输入,点按钮时红字给出具体原因,不会静默按你以为的意思去做 - 逐页状态看得见:表格三列「页码 / 页面尺寸(pt) / 状态」,每页显示 将提取 或 不提取;预览行实时写「将提取 N 页 / 共 M 页」,不点保存什么都不写入磁盘
- 默认一页都不选:和「删页」正好相反,提取必须自己写要哪几页,避免手滑直接整份复制出去;要取的页占多数时,先「全选」再点「反选」挑掉不要的更快
- 两道防误操作保险:一页都没标记时拒绝保存并提示先指定页码;输出路径与源文件相同也直接拒绝(「输出文件不能覆盖源文件」),默认输出名是
<源文件名>_已提取.pdf - 加密文件提前拦截:打开失败时按文件字节判断是否带
/Encrypt加密字典,是则载入当场红字提示先去除密码,标记/取消/保存三个按钮同时置灰 - 资源管理器右键菜单:写
HKCU\Software\Classes下的静态注册表动词(百业PDF大师 → 提取PDF页..),免管理员权限、不用注册 COM 组件,文件路径自动带进来;与同系列工具共用一个分组菜单,注册和注销都只动自己那一项 - 大文件载入走后台线程:读页数的动作在后台工作线程,151.1 MB / 40 页 4.1 秒出页面列表,期间界面不假死;中途换文件时有陈旧结果守卫,旧文件的载入结果不会盖到新文件上
操作教程
- 第 1 步:把 PDF 放进软件:在资源管理器里选中 PDF 点右键,选「百业PDF大师 → 提取PDF页..」;也可以点「选择PDF」按钮,或者把文件从资源管理器直接拖进窗口(本工具一次处理一个 PDF:在资源管理器里多选文件时每个文件各开一个窗口,若一次只收到多个文件则载入第一个并给出提示) 预期:窗口上方显示「共 N 页 · 大小 · 首页尺寸」,下方表格逐页列出「不提取」
- 第 2 步:填要提取的页码:在「提取页码」里写
2,8-10这样的范围(逗号分隔、单页和区间混着写),或点「全选」取到底、「反选」换一批、「清空」重来 预期:填错会红字说明原因(如「页码 12 超出范围(该文件共 10 页)」) - 第 3 步:点「标记提取所选页」:所选页的状态列变成「将提取」,预览行给出「将提取 N 页 / 共 M 页」;挑多了就点「取消标记所选页」把指定页改回不提取,也可以直接改范围重新标记 预期:看清取出页数,「保存提取结果」按钮变为可点
- 第 4 步:核对输出文件名:「输出文件」默认是源文件同目录的
<源文件名>_已提取.pdf,可点「浏览...」换位置换名字;输出名撞上已有文件会先弹确认框问要不要覆盖 预期:路径确认无误,且和源文件不是同一个名字 - 第 5 步:点「保存提取结果」:保存成功后顶部弹「提取完成:从 N 页中取出 M 页已保存到新文件」;勾选「完成后打开输出文件所在目录」会自动弹出结果文件夹 预期:新文件出现在输出目录,源文件原封不动

载入 10 页文件,输入框还空着时预览会提示先填范围再点标记,保存按钮禁用

取出第 2、4、5 页后输出 3 页;回读新文件的页面尺寸序列可确认拿到的正是这三页、顺序与原文件一致
第一次用想开右键菜单,点工具栏「右键菜单」按钮即可集成,再点一次选移除就能清理干净,且不影响同系列其它工具;移动了软件所在的文件夹后,在新位置再点一次按钮刷新路径。同系列还有 PDF合并大师、PDF拆分器、PDF旋转工具 和 PDF删页工具,共用同一个右键菜单分组。
常见问题
2,8-10 这种混写,会自动去重并归一成升序,8-10,2 和 2,8-10 是同一个意思;中英文逗号都认。要提取的页占多数时,点「全选」再点「反选」把不要的挑掉更省事。软件截图

载入 10 页文件,表格逐页显示页码、页面尺寸和「不提取」状态,保存按钮禁用

填 3,5-7 点标记,四页转为「将提取」,预览行写明将提取 4 页 / 共 10 页

把 10 页全部标记提取时,预览会明确提示「将提取全部 10 页(等同整份复制)」,保存仍可用

保存后另存为 _已提取 新文件,源文件不动,界面可继续下一轮调整

载入需要打开密码的文件时立刻说明原因,标记/取消/保存全部置灰
技术实现与后续维护
程序集 by.pdf.page.extractor,单文件发布,依赖(PdfSharp、界面库、授权组件)已合并进 exe,随包只有一份 cfg.ini 配置。运行环境是 .NET Framework 4.8,Windows 10/11 一般已经具备。授权与试用计时按机器码在本机完成,不上传文件内容,也不读取文件之外的个人数据。出厂前跑过两轮验收:一轮是无界面自检(页码解析、页面搬运、拒绝路径、右键菜单注册与注销共 44 项断言),一轮是模拟真实点击的界面回归(载入→标记→反选→取消→保存→回读输出页尺寸比对,共 33 项),两项在混淆后的发布版上重跑一遍仍然全绿。
后续可扩展的方向:提取时顺带保留原文件的书签目录(挑出的章节仍可跳转)、按内容规则自动圈定页面(含指定关键字的页、纯白页、指定尺寸之外的页)、一次跑完一个目录的批量模式、把常用的「取资质页」页码存成预设下次一键套用。这些都在现有的页面搬运链路上,不需要改动界面结构。
可以定制(二次开发)
这个工具按「一个痛点一个小工具」的思路做,界面和功能都可以按你的实际流程改:比如固定输出目录、按部门命名规则自动改名、取完自动归档到指定文件夹、和拆分/删页/旋转/合并串成一条流水(先拆→删广告页→提取本章→转方向→再合回去),或者做成批量脚本版。需要改动的联系方式见站内「联系我们」页面的 QQ 客服,也可以在本文下方留言说明场景。定制合作会连同可编译的工程一起交付。
使用说明与免责声明
请只对你拥有合法权利的文件进行提取页面等操作,摘取他人报告、教材、图纸的内容可能涉及版权与保密义务,责任由操作者自行承担。工具按「读源文件、写新文件」的方式工作,不会改动任何源文件;但输出文件如果与已有文件重名,确认后会被覆盖,重要资料建议先备份或换一个输出目录再处理。本工具按「现状」免费提供,因使用本工具造成的数据损失,作者不承担责任。
ek4t 打开下载页后,在「输入密码」框里填这 4 位,再点它下方的按钮即可下载,不用注册、不用登录。
