Releases: Lezheng2333/PDFeverything
Release list
PDFeverything v1.4.2 — System Theme Auto-Adapt + Windows
🌗 System Theme Auto-Adapt
- macOS: automatically follows Dark/Light mode via
AppleInterfaceStyle - Windows: stays Light theme
- Unified QPalette covering toolbar, edit toolbar, scrollbars, labels, welcome button
🪟 Windows Build
- Single-file
PDFeverything.exe(72 MB) — copy-and-run, no install needed pywin32dependency added, 12 new hiddenimports forcore.page_editorand GUI modules- Double-click
build_windows.batto build from source
🖼️ Grid View Editor (since v1.4.0)
- Adaptive-fill thumbnails, click/box-select pages, drag-sort, delete/rotate/extract
- Snapshot undo/redo (Ctrl+Z/Ctrl+Shift+Z), save-before-close prompt
- Export selected pages as PDF / JPG / Word / PowerPoint
- Edit toolbar with 10 buttons + hover tooltips
🔧 All Features
- Built-in PDF reader (Scroll & Grid, vector-grade rendering, trackpad pinch-to-zoom)
- 16 PDF operations (merge/split/compress/watermark/encrypt/etc)
- Mixed-file merge (PDF+Word+PPT+Excel+images+text → one PDF)
- 23 MCP tools for AI agents, 28 CLI commands (with --json output)
- Bilingual UI (Chinese/English)
Download:
| Platform | File |
|---|---|
| 🍎 macOS (Apple Silicon) | PDFeverything_MacOS_1.4.2.zip (267 MB) |
| 🪟 Windows 10/11 (64-bit) | PDFeverything_Windows_1.4.2.exe (72 MB) |
PDFeverything v1.4.1 — Grid Editor 稳定版
🖼️ Grid View Editor (稳定版)
- 编辑/撤销/保存完整闭环 — 关闭时检测为保存修改, 不保存则还原原始文档
- 快照式撤销重做 — 每次编辑拍 PDF 快照入栈, 可靠 Ctrl+Z/Ctrl+Shift+Z
- 导出为...菜单 — PDF / JPG / Word / PowerPoint 四种格式
- 编辑工具栏 10 按钮 — Select/Sort/Rotate/Delete/Extract/Export/Print/SaveAs/Undo/Redo
- 自适应填充缩略图 — 所有比例页面居中不溢出
- 拖拽排序 — 选中+点 Sort→拖拽到目标释放
🐛 修复 (14 项)
- Editor 共享 doc — 删除/旋转/排序立即生效
- 删除后页面重复 — clearCache 修复
- 撤销/重做闪退 — doc 同步修复
- 不保存退出未还原 — _revert_to_original 修复
- 导出后灰屏 — _layout_labels 修复
- 关闭后 toolbar 残留 — close_document 重置修复
- 排序按钮无响应 — mouseTracking 修复
- 警告弹窗两遍 — 弹窗层级修复
- 编辑按钮中英文 — i18n 标签修复
- Tooltip 立刻消失 — QTimer GC修复
- 编辑栏无悬浮提示 — _hover_on 注册修复
- 缩放弹窗重复 — _store_tooltips 修复
Download (Apple Silicon): PDFeverything_macOS_v1.4.1.zip
PDFeverything v1.4.0 — Grid View Editor + Core page_editor + CLI/MCP
🖼️ Grid View Editor Mode
Open any PDF → Grid view → click ✎ Edit to enter edit mode:
- Select pages: click, Ctrl+click (multi), Shift+click (range), drag box-select
- Edit operations: Rotate 90°, Delete (with confirmation), Extract, Export
- Drag-sort: click a selected page and drag to reorder
- Undo/Redo: Ctrl+Z / Ctrl+Shift+Z (command-pattern, 50-step history)
🧠 Core: PdfPageEditor (new)
- Command-pattern undo/redo engine
delete_pages/rotate_pages/move_pages/extract_pages- Observer pattern for GUI sync
⌨️ CLI: 8 new page-editing commands
pdf_tool.py delete-pages -i in.pdf -o out.pdf --pages 1,3,5 --json
pdf_tool.py rotate-pages -i in.pdf -o out.pdf --pages all --degrees 90
pdf_tool.py move-pages -i in.pdf -o out.pdf --source 1,2 --target 5
pdf_tool.py page-list -i in.pdf --json
pdf_tool.py page-undo -i in.pdf -o out.pdf
pdf_tool.py page-history -i in.pdf🔌 MCP: 23 tools (was 16)
7 new tools: pdf_delete_pages, pdf_rotate_pages, pdf_move_pages,
pdf_extract_pages, pdf_undo, pdf_redo, pdf_history
Download (Apple Silicon): PDFeverything_macOS_v1.4.0.zip
PDFeverything v1.3.17 — Render pipeline optimization + tooltip overhaul
⚡ Render Pipeline Optimization (5 fixes)
- Pass 1 visible-only, debounce 150→80ms, async render (0ms UI freeze)
- Keyboard nav triggers instant high-quality render
- Scroll stop always refreshes visible range
🖱️ Pinch-to-zoom
- Restored proven phase-based detection, threshold 60 (2x responsive)
💬 Tooltip
- Compact QLabel at cursor (11px), 5s auto-hide, no Qt system popup
Download (Apple Silicon): PDFeverything_macOS_v1.3.17.zip
PDFeverything v1.3.16 — Layout fix + native pinch-to-zoom
🐛 Fixes
Scroll layout overlap
- Fixed Y-position cascade bug: unrendered pages no longer use hardcoded 600x800 size
- Layout now computes expected dimensions from PDF page geometry x current zoom level
Native trackpad pinch-to-zoom
- Replaced fragile wheelEvent phase-based pinch detection with QPinchGesture
- grabGesture(PinchGesture) + event() override reads native macOS scaleFactor
- Zoom formula: delta_pct = (scaleFactor - 1.0) * 250
Download (Apple Silicon): PDFeverything_macOS_v1.3.16.zip
PDFeverything v1.3.15 — Vector-grade rendering
🎨 Vector-grade rendering — exact-resolution, MuPDF native AA
Core rendering rewrite
- Remove SSAA oversampling — MuPDF's built-in sub-pixel anti-aliasing handles text quality at any resolution
- Exact-resolution rendering — mat = fitz.Matrix(zoom × dpr, zoom × dpr), no oversampling, no downscale, no bilinear blur
- MuPDF AA maximized —
_configure_mupdf_aa()sets AA to 8 bits on PDF open (fz_set_aa_level, text_aa_level, graphics_aa_level)
Pinch-to-zoom speed
- Gesture-end sharp render: 180ms → 40ms (4.5× faster)
HiDPI / Retina
devicePixelRatio()-driven rendering matrix for 1:1 native pixel mapping- Cache memory tracking: logical → physical pixel correction (× dpr²)
Other fixes
- mcp/README.md: tool count 13→16, missing tools added
- gui/i18n.py: about version v1.1 → v1.3.15
- tests/test_reader.py: rewritten for current API
- DEVELOPMENT_LOG.md: chronological ordering fixed
Download (Apple Silicon): PDFeverything_macOS_v1.3.15.zip
Windows: Build on Windows with build_windows.bat from source at tag v1.3.15
PDFeverything v1.3.12 — Liquid Glass Icon + Reader Perf
PDFeverything v1.3.12
🎨 Liquid Glass Icon (1024px)
- Directional bevel with hard diagonal mask + gradient at TR/BL rounded corners
- White highlight (top-left) + dark shadow (bottom-right) for 3D depth
- PDF 240px Helvetica Bold + everything 192px SignPainter
- Flat version backup in resources/app_icon_flat_1024/
📖 Reader Performance
- Lazy render: only visible range (±2 pages) on zoom, not all pages
- Two-pass zoom: instant pixel scaling (<5ms) + deferred real render (40ms)
- Dual-timer page tracking: throttle 30ms (rough) + debounce 150ms (bisect)
- LRU cache with memory tracking (250MB cap, pinned fit keys)
🐛 Bug Fixes
- Dock icon white border — restored setWindowIcon(QIcon) for correct alpha
- Page flicker on slow scroll — throttle only fires on >1 page jumps
- Pinch false-positive on overscroll — phase detection + pixelDelta==0 check
- Mixed portrait/landscape PDF alignment — per-page individual centering
- Empty reader toolbar state — filename and ✕ hidden, 0/0 default page
- Tooltips unreadable — bright global stylesheet + above-button positioning
📥 Download
| Platform | File |
|---|---|
| 🍎 macOS | PDFeverything_macOS_v1.3.12.zip |
🪟 Windows: Pull latest source and run
python build_windows.py
PDFeverything v1.3.10 — Reader Polish + Zoom Perf
PDFeverything v1.3.10
🎨 Reader UI Polish
- Empty reader state: filename and ✕ button hidden; page shows 0/0; prev/next disabled
- Single-page PDF: shows 1/1 with prev/next disabled
- Filename label: sunken pill with inset shadow (non-interactive look)
- Page nav/zoom buttons: 30px→34px, arrows and ± now fully visible
- Mixed portrait/landscape: each page centered individually in viewport
- Tooltips: bright compact style (white on dark), positioned above button
⚡ Zoom Performance
- Instant response: Pass 1 scales only visible labels (<5ms), not all pages
- Deferred sharpness: Pass 2 at 40ms (down from 180ms) renders high-res version
- No spinner: layout uses PDF rect estimates when pixmap not yet rendered
🐛 Bug Fixes
- Overscroll rubber-band no longer mistaken for pinch-to-zoom
- Page flicker: throttle only fires on >1 page jumps (debounce is sole authority for ±1)
- Toolbar crash: setEnabled calls placed after widget creation
📥 Download
| Platform | File |
|---|---|
| 🍎 macOS | PDFeverything_macOS_v1.3.10.zip |
🪟 Windows: Pull latest source and run
python build_windows.py
PDFeverything v1.3.9 — Zoom Scale Fix
PDFeverything v1.3.9
🐛 Critical Fix
- Zoom scale calculation corrected — deleted
_smooth_scale_allwhich used_fw_ratioas a fixed scale base. Pixmaps can be at ANY zoom level (fit_height/fit_width/arbitrary %). All three zoom paths now computescale = new_factor / old_factorbased on_current_zoom_pct().
⚡ Performance (v1.3.8–1.3.9)
- LRU cache (OrderedDict) with memory tracking (250MB cap, 180MB target)
- Dual-timer page tracking: throttle 30ms (rough) + debounce 150ms (bisect)
- On-demand prefetch of N±1 pages
- Two-pass zoom: instant QPixmap.scaled() + deferred PyMuPDF re-render
Download
| Platform | File |
|---|---|
| 🍎 macOS | PDFeverything_macOS_v1.3.9.zip |
🪟 Windows: Pull latest source and run
python build_windows.py
PDFeverything v1.3.0 — PDF Reader + Smooth Zoom
PDFeverything v1.3.0
🆕 PDF Reader (built-in)
- 📖 Clean immersive reader — dark background, bottom toolbar, maximized reading area
- 📜 Scroll mode — continuous vertical scrolling with touchpad inertia
- 🔲 Grid mode — WPS-style 3-column thumbnail grid, double-click to jump
- ✨ Smooth zoom — pinch-to-zoom (macOS native gesture, no Ctrl needed), instant pixmap scaling + debounced real render
- 🎯 Click-to-edit zoom — click the zoom percentage, type a number (50-300), Enter to apply
- ⚡ Fast page tracking — binary search on page Y positions, 60fps update
- 📄 Drag-and-drop — drop PDF onto reader window to open
- ✕ Close button — returns to file list if opened from there
- 🖥️ Welcome screen — "Drop PDF here to read" + Load file button
🔧 Reader Controls
| Control | What it does |
|---|---|
| [−] [150%] [+] | Zoom out/in by 1% steps |
| Fit W / Fit H | Fit page width or height to viewport (instant, pre-computed) |
| Scroll / Grid | Toggle view mode |
| ◀ 3 / 12 ▶ | Current page / total, prev/next |
Other Improvements
- 🗂️ macOS Open With — right-click a PDF, choose PDFeverything, file added to merge list
- 🌐 Full i18n — all reader buttons and tooltips in Chinese/English
- ⚡ Label pool reuse — mode switches are 6ms, not 4s
- 🔢 Zoom range — 50% to 300%, input validation with auto-clamp
Download
| Platform | File |
|---|---|
| 🍎 macOS | PDFeverything_macOS_v1.3.zip |
🪟 Windows: Pull latest source and run
python build_windows.pyto rebuild with the reader.