Skip to content

Repository files navigation

ScreenShot_2026-09-18_114316_102

PDFuck - A PDF Editor

简体中文 · English · 下载 / Download

ScreenShot_2026-09-18_113723_792

为论文精读、审稿与修改设计的 PDF 编辑器。 支持 Windows、macOS 和十种界面语言。

核心亮点

  • 专门处理复杂论文版式的框选:兼顾双栏、行内公式、上下标与跨页选区;支持手动校正栏界,复制时自动整理断行与断词。
  • AI 审稿直接生成文内批注:对全文或选区逐项检查语言、逻辑、数学推导和篇章结构;可选择批注力度、添加自定义标准,并随时暂停、继续。
  • 结合原文生成修改建议:从批注位置自动提取附近正文,也可加入多段选区作为上下文。建议在同一编辑窗口中填入回复草稿,确认后保存到 PDF。
  • 随手翻译选中的文本:在“实验室”选择目标语言并启用后,可在任何模块圈选文字并右键翻译。单词会自动参考同页少量上下文,但结果只翻译选区;结果可一键写成 Highlight 高亮批注。翻译独立运行,不打断其他 AI 任务;临时故障会先自动恢复,仍失败时可直接重试。
  • 把批注变成可跟进的修改清单:区分批注人,用“已处理/想一想/不做了”标记处理状态;按进度统计快速定位批注,再回到原文核查,回复随 PDF 保存。
  • 扫描件也能原位框选与复制:OCR 在本地识别所选页码,支持中英等 11 种主要语言,自动纠斜、低置信度复识别并整理中文/日文伪空格。隐形文字随 PDF 保存,页面外观保持不变,识别结果可撤销。
  • 按论文结构找内容:一键定位图表,将文中引用关联到参考文献,自动识别章节书签;PDF 自带书签与页内链接可准确跳转,网页和邮件链接由系统安全打开。
  • 衔接论文插图的 EPS 工作流:支持 EPS 导入,将编辑后的 PDF 导出为保留文字与矢量路径的 EPS,方便后续排版。
  • 批量添加可撤销文字水印:在编辑模块按页码范围添加水印,可实时预览并设置文字、字体、字号、角度、颜色、透明度和密度;已添加水印可整体更新或一键删除。
  • 识别加密权限与数字签名:密码加密和空密码权限加密 PDF 均可阅读;明显显示打印、复制、修改和批注权限,并验证签名覆盖范围、密码学完整性及证书信息。无法直接写回时可生成不覆盖原件的高分辨率可编辑副本。

安装与配置

  • Windows:从 Releases 下载 Windows-Setup.exe 安装;Windows.exe 为便携版。
  • macOS:下载对应 DMG,将 PDFuck 拖入 Applications。各平台产物以 Releases 实际提供的文件为准。
  • 日常使用:打开 PDF 即可阅读、编辑与批注。“查看”中可切换语言、主题和界面字号;字号支持预览后确认,不影响 PDF 缩放。欢迎页和打开文件窗口中的最近打开列表可随时清空,且不会删除本机 PDF。
  • 文档标签档案:点击左上角“文档标签”,为当前窗口的文件列表命名保存,支持多个档案、改名和删除。之后点击档案即可补开文档,已打开的标签保留;缺失或无法打开的文件集中提示。档案只记录文件位置,不包含未保存的编辑,未落盘文档需先保存。
  • OCR:“编辑 → OCR 识别”设置页码范围和主要语言。引擎与语言数据随包内置,无需联网、配置 AI 或另装 OCR 软件。
  • 关于:左侧模块下方以两行固定显示“关于”和当前版本号;弹窗可检查更新并打开项目官方 Releases 页面。
  • AI(可选):在“批注 → 实验室 → 模型设置”中保存多个命名配置,填写接口地址、API Key、模型名后点击“激活此模型”。顶部摘要显示实际使用的配置与模型;实时过程按请求、思考和回复分区显示。支持 OpenAI、Claude、Grok、BigModel、Doubao、DeepSeek、KIMI 和自定义兼容接口;保存其他配置不会切换当前模型。启用 AI 时,所选原文或全文会发送给激活的服务;普通编辑与 OCR 在本地执行。
  • 文本翻译(可选):在“批注 → 实验室 → 文本翻译”中选择目标语言并启用。之后在任意模块圈选 PDF 文字,右键选择“翻译所选文字”;确认结果后可直接添加为高亮批注。关闭开关即可移除全局右键入口。
  • Thinking 与生成参数:可配置思考模式/强度、Claude 思考预算、温度、Top P、惩罚、Seed 和高级 JSON。默认等待 600 秒、输出预算 65,536 Token,最多可设置 3,600 秒和 262,144 Token,实际受服务商限制。遇到明确不兼容参数会尝试恢复;输出截断先扩容,再按允许的 Thinking 降级或分批处理。可关闭 Thinking 降级;界面仅显示服务商实际返回的思考内容。
  • 格式转换(可选):EPS 导入需要 Ghostscript;矢量 EPS 导出需要 Poppler 的 pdftocairo。Office 导入在 Windows 可使用本机 Microsoft Office,跨平台可使用 LibreOffice。macOS 可用 brew install ghostscript poppler 安装 EPS 工具。

软件架构

部分 职责
Electron 主进程 · src/main 本地文件、原生窗口、打印、格式转换、AI 请求及 OCR 工作线程
安全桥接 · src/preload、src/shared 通过类型化 IPC 暴露桌面能力,共享数据契约与十种语言文案
React 界面 · src/renderer/src 多文档工作区、阅读与编辑工具、统一字号和弹窗交互
PDF.js + pdf-lib PDF.js 渲染、提取文字与建立框选坐标;pdf-lib 写入编辑、批注和隐形 OCR 文字层,管理撤销与保存
Tesseract.js 本地逐页 OCR;后台识别、进度与取消,不替换原页面图像

开发环境需要 Node.js 22.4+:

npm ci
npm run dev
npm run build

build 包含类型检查、单元测试、多语言与字号审计。安装包构建、平台依赖和发布验证见 打包指南;界面规范见 字号 VI 规范。

A PDF editor for close reading, peer review, and revision. Available on Windows and macOS, with ten interface languages.

Highlights

  • Selection built for complex papers: Handles two-column layouts, inline equations, superscripts, subscripts, and cross-page selections. Correct column boundaries manually; copying cleans up line breaks and split words.
  • AI review that becomes in-document annotations: Check a whole paper or a selection for language, logic, mathematical reasoning, and structure. Choose review intensity, add custom criteria, and pause or resume the review.
  • Revision advice grounded in the source: Automatically collect nearby text from an annotation’s position, or add multiple selections as context. Use suggestions in a reply draft within the same editor, then confirm to save them into the PDF.
  • Translate selected text in place: Choose a target language in Lab, then translate any PDF selection from its context menu in every module. A single word receives a small same-page context for disambiguation while only the selection is translated. Translation runs independently of other AI tasks; add the result as a Highlight annotation in one click, with automatic recovery before a manual retry.
  • Annotations you can follow through: Identify reviewers and mark each item as Done, Think about it, or Won’t do. Use progress counts to find annotations, return to the source to verify changes, and keep replies in the PDF.
  • Select and copy scanned pages in place: Local OCR supports selected page ranges and 11 primary languages, deskewing, a low-confidence retry, and removal of spurious Chinese/Japanese spaces. Invisible text is saved inside the PDF while preserving its appearance, with undo support.
  • Navigate by the paper’s structure: Find figures and tables in one click, link citations to references, and recognize section bookmarks. Built-in outlines and page links navigate precisely; web and email links open safely through the operating system.
  • An EPS workflow for research figures: Import EPS files and export edited PDFs to EPS while retaining text and vector paths for subsequent typesetting.
  • Removable text watermarks in batches: Add watermarks to selected page ranges with live controls for text, font, size, angle, color, opacity, and density; update or remove the full set in one click.
  • Encryption permissions and digital signatures: Read password-protected and permission-encrypted PDFs, inspect print/copy/edit/annotation permissions, and verify signature coverage, cryptographic integrity, and certificate details. When direct writeback is unavailable, create a high-resolution editable copy without overwriting the original.

Installation and configuration

Download the Windows installer/portable executable or the macOS DMG from Releases. Available builds are listed there. Open a PDF to start; language, theme, and previewable interface font sizes are under View. The recent-files list can be cleared from either the welcome screen or the Open PDF dialog without deleting files from your computer.

About, below the module buttons, keeps the current version visible on a second line, checks for updates and links to the official Releases page.

OCR is under Edit: choose pages and a primary language. The engine and language data are bundled for offline use.

Saved tab groups: click Document tabs to save the current window’s file list under a name. Create multiple groups, rename or delete them, and reopen a group later. Existing tabs are kept and unavailable files are listed. Groups store file locations, not unsaved edits; save new documents to disk first.

AI is optional: under Annotations → Lab → Model settings, save named configurations and explicitly activate one. The summary identifies the active configuration and model; live activity separates the request, reasoning and response. Providers include OpenAI, Claude, Grok, BigModel, Doubao, DeepSeek, KIMI and custom compatible endpoints. Saving an inactive configuration does not switch models. Configure Thinking mode/effort, Claude's thinking budget, sampling, penalties, Seed and advanced JSON. Defaults are 600 seconds and 65,536 output tokens; configurable maxima are 3,600 seconds and 262,144 tokens, subject to provider limits. Recovery handles rejected parameters and truncation; Thinking fallback can be disabled. Only reasoning actually returned by the provider is displayed. AI sends the selected text or document to the active provider; ordinary editing and OCR run locally.

Text translation is optional: under Annotations → Lab → Text translation, choose a target language and enable the switch. In any module, select PDF text and choose Translate selected text from the context menu. Source and translation are shown in clearly separated panels, and the result can be added directly as a Highlight annotation; disabling the switch removes the global menu item.

Optional format tools: Ghostscript for EPS import, Poppler (pdftocairo) for vector EPS export, and Microsoft Office on Windows or LibreOffice across platforms for Office import. On macOS, brew install ghostscript poppler installs the EPS tools.

Architecture and development

Electron handles files, native windows, printing, conversions, AI requests, and background OCR. A typed preload/IPC bridge connects it to the React workspace. PDF.js renders pages and extracts positioned text; pdf-lib persists edits, annotations, and invisible text, with undo history. Tesseract.js recognizes scans locally, page by page.

Use Node.js 22.4+ and run npm ci, then npm run dev. npm run build runs type checking, unit tests, translation and typography audits before building. See the packaging guide and interface typography specification.

开源致谢 / Open-source acknowledgments

项目 / Project 用途 / Used for 许可证 / License
Electron、React 桌面运行时与界面 / Desktop runtime and UI MIT
PDF.js 页面渲染、文字提取 / Rendering and text extraction Apache-2.0
pdf-lib PDF 编辑与保存 / PDF editing and persistence MIT
Tesseract.js、Tesseract.js-core、tessdata 本地 OCR 与语言模型 / Local OCR and language models Apache-2.0;语言包分发封装为 MIT / Model package wrappers: MIT
react-markdown、remark-gfm AI 建议排版 / Formatting AI suggestions MIT
windows-pdf-printer-native、Koffi、PDFium Windows 原生打印 / Native Windows printing MIT;PDFium 为 BSD 风格 / BSD-style
Vite、electron-vite、electron-builder、Vitest、Playwright 构建、打包与测试 / Build, packaging, and tests MIT / Apache-2.0

感谢 Ghostscript、Poppler 和 LibreOffice 提供可选格式转换能力。它们由用户另行安装,分别遵循其自身许可证。完整依赖版本见 package.json 与锁文件;OCR 来源说明随安装包提供,也可查看 OCR NOTICE。

Optional converters Ghostscript, Poppler, and LibreOffice are installed separately and retain their own licenses. Dependency versions are pinned in the package manifests; OCR provenance is included with the app and in OCR NOTICE.


MIT License · © 2026 leyuwei

About

A Tiny, Researcher-Friendly, AI-Empowered Open-Source PDF Editor / 一个小巧、研究人员友好、AI能力集成的开源PDF编辑器 / 呱~

Topics

Resources

Stars

16 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages