KillerPDF 是一款便携式 Windows PDF 编辑器,以单个 EXE 形式分发(压缩后约 6 MB),基于 C#/WPF 与 PDFium(Docnet.Core)构建,面向 .NET Framework 4.8。它无需 Adobe、无需账号、无遥测,免安装、无需管理员权限,解压即可运行。
主要能力
- 渲染:通过 Docnet.Core 使用 PDFium 进行高质量 PDF 渲染。
- 批注:支持文本框、手绘、高亮叠加层。
- 编辑:支持内联文本编辑,并匹配字体。
- 页面操作:合并多个 PDF、拆分选定页面、拖放重排。
- 签名:可绘制并保存可复用签名,点击放置。
- 搜索:全文搜索并高亮,支持拖选复制。
- 打印:打印时将批注扁平化到输出中。
- 分发:单个 EXE,无运行时依赖,无需管理员权限。
获取二进制文件 可通过 PowerShell 下载最新预构建版本并解压运行:
Invoke-WebRequest -Uri "https://github.com/SteveTheKiller/KillerPDF/releases/latest/download/KillerPDF.zip" -OutFile "KillerPDF.zip" Expand-Archive -Path "KillerPDF.zip" -DestinationPath ".\KillerPDF" .\KillerPDF\KillerPDF.exe
无需安装程序,无需管理员权限,解压后直接运行。
从源码构建 要求:Windows 10/11 x64、.NET 8 SDK 或更高版本(用于构建;输出目标为 .NET Framework 4.8)、Git。
克隆并构建: git clone https://github.com/SteveTheKiller/KillerPDF.git cd KillerPDF dotnet publish -c Release
输出位于 bin/Release/net48/publish/。发布步骤会生成:
- KillerPDF.exe — 单个 Costura 打包的可执行文件
- KillerPDF-<version>-src.zip — GPL3 对应源码归档
项目结构 KillerPDF/ ├── App.xaml / App.xaml.cs # 应用程序入口、主题 ├── MainWindow.xaml / .cs # 主 WPF 窗口、工具栏、页面画布 ├── PdfDocument.cs # PDFium 封装(Docnet.Core),加载/保存/渲染 ├── PageViewModel.cs # 页面数据绑定、批注层 ├── AnnotationCanvas.cs # 用于绘制/批注的自定义 Canvas ├── SignatureManager.cs # 保存/加载/放置签名 ├── MergeWindow.xaml / .cs # 合并多个 PDF 的 UI ├── SplitWindow.xaml / .cs # 页面选择与拆分 UI ├── SearchPanel.xaml / .cs # 全文搜索 UI ├── PrintHelper.cs # 扁平化批注并打印 ├── Models/ │ ├── Annotation.cs # 基础批注模型 │ ├── TextBoxAnnotation.cs │ ├── DrawingAnnotation.cs │ └── HighlightAnnotation.cs └── Resources/ └── Icons/ # SVG/PNG 工具栏图标
关键依赖 KillerPDF.csproj(简化版)中声明了以下依赖:
- Docnet.Core 2.6.0(PDFium 渲染)
- Costura.Fody 5.7.0(单 EXE 打包)
- Fody 6.8.0
核心模式与代码示例 资料中提供了打开与渲染 PDF 页面、批注模型层级(Annotation、TextBoxAnnotation、HighlightAnnotation)、在批注画布上手绘、签名管理器、合并 PDF、拆分页面、全文搜索、带扁平化批注的打印,以及 MainWindow 集成模式等代码示例。这些示例展示了 KillerPDF 如何通过 Docnet.Core 读取页面图像与文本、如何将批注转换为 WPF UIElement、如何将签名保存为 PNG 并放置到画布、如何合并/拆分页面、如何基于字符级位置进行搜索高亮,以及如何将 PDF 页面与批注画布合成为位图后打印。
适用场景 KillerPDF 适合需要在 Windows 上快速查看、批注、编辑、签名、合并、拆分、搜索和打印 PDF 的用户,尤其是希望免安装、便携运行、不依赖 Adobe 或在线账号、且关注隐私(无遥测)的场景。
限制 资料未提供关于收费、价格、平台支持范围(除 Windows 外)、具体性能指标或效果保证的信息,这些内容暂未提供。