A cross-platform desktop PDF reader with Gemini translation
Download pre-built binaries from Releases page.
- macOS: Download
.dmgfile - Linux: Download
.debor.AppImagefile - Windows: Download
.msifile
Pedaru is not signed with an Apple Developer certificate. When you try to open the app, macOS may show an error saying the app is "damaged" or "can't be opened".
To fix this, run the following command in Terminal before opening the .dmg file:
xattr -r -d com.apple.quarantine Pedaru_x.x.x_aarch64.dmgThis is a temporary measure until the app is properly signed.
Prerequisites:
- Node.js >= 18.17.0
- Rust >= 1.85
- Tauri CLI (
cargo install tauri-cli)
git clone https://github.com/togatoga/pedaru.git
cd pedaru
npm install
npm run tauri buildBuild outputs:
- macOS:
src-tauri/target/release/bundle/macos/Pedaru.appand.dmg - Linux:
src-tauri/target/release/bundle/deb/*.debandappimage/*.AppImage - Windows:
src-tauri/target/release/bundle/msi/*.msi
- Single & Two-Column View: Switch between single page and two-column (spread) view modes with
Cmd+\/Ctrl+\ - Manual Zoom: Zoom in/out with 25% increments (keyboard shortcuts or UI controls)
- Smooth Navigation: Navigate pages with keyboard arrows, page input, or scroll
- Hide Header: Toggle header visibility with
Cmd+Shift+H/Ctrl+Shift+Hfor distraction-free reading
- Multiple Tabs: Open multiple pages in separate tabs
- Tab Navigation: Switch between tabs with
Cmd+[/Cmd+](macOS) orCtrl+[/Ctrl+](Windows/Linux) - Tab Sync: Tab page numbers update when navigating
- Close Tabs: Use
Cmd+W(macOS) /Ctrl+W(Windows/Linux) to close current tab
- Drag & Drop: Drag a page to open it in a standalone window
- New Window: Open current page in standalone window with
Cmd+N/Ctrl+N - Window Sync: Standalone windows sync with main viewer page changes
- Chapter Display: Windows show current chapter from TOC
- Window Sidebar: Manage all open windows from sidebar
- TOC Sidebar: View and navigate document structure
- Chapter Navigation: Click TOC items to jump to sections
- Full-Text Search: Search across all pages with
Cmd+F/Ctrl+F - Non-Blocking: Search runs in background without freezing UI
- Result Navigation: Use
β/βto preview results,Enterto confirm - Highlight Matches: Search terms highlighted in document
- Back/Forward: Navigate through page history with
Ctrl+,/Ctrl+. - History Sidebar: View and jump to previous pages
- Internal Links: Click TOC/index links to navigate within document
- External Links: URLs open in system web browser
- SQLite Database: All session data stored in local SQLite database
- Auto-Save: Page position, zoom, bookmarks, tabs, and windows saved automatically
- Cross-Session: Resume exactly where you left off when reopening PDFs
- Open Recent: Quick access to recently opened PDFs from File β Open Recent menu
- Add Bookmarks: Use
Cmd+B(macOS) /Ctrl+B(Windows/Linux) to bookmark current page - Bookmark Sidebar: View and manage all bookmarks
- Cross-Window Sync: Bookmarks sync across all windows
- Text Translation: Select text and press
Cmd+J/Ctrl+Jto translate - Auto-Explanation: Use
Cmd+E/Ctrl+Efor translation with grammar explanations - Context-Aware: Translation includes surrounding context for better accuracy
- Draggable Popup: Move translation popup anywhere on screen
- Cloud Sync: Connect Google Drive folders to access your PDF library
- Background Download: PDFs download in background with progress tracking
- Thumbnail Preview: Visual bookshelf with document thumbnails
| Action | macOS | Windows/Linux |
|---|---|---|
| Previous Page | β or PageUp |
β or PageUp |
| Next Page | β or PageDown |
β or PageDown |
| First Page | Home |
Home |
| Last Page | End |
End |
| Navigate Back | Ctrl + , |
Ctrl + , |
| Navigate Forward | Ctrl + . |
Ctrl + . |
| Action | macOS | Windows/Linux |
|---|---|---|
| Zoom In | Cmd + = |
Ctrl + = |
| Zoom Out | Cmd + - |
Ctrl + - |
| Reset Zoom | Cmd + 0 |
Ctrl + 0 |
| Action | macOS | Windows/Linux |
|---|---|---|
| New Tab | Cmd + T |
Ctrl + T |
| Close Tab | Cmd + W |
Ctrl + W |
| Previous Tab | Cmd + [ |
Ctrl + [ |
| Next Tab | Cmd + ] |
Ctrl + ] |
| Switch to Tab 1-8 | Cmd + 1-8 |
Ctrl + 1-8 |
| Switch to Last Tab | Cmd + 9 |
Ctrl + 9 |
| New Window | Cmd + N |
Ctrl + N |
| Action | macOS | Windows/Linux |
|---|---|---|
| Toggle Two-Column | Cmd + \ |
Ctrl + \ |
| Toggle Header | Cmd + Shift + H |
Ctrl + Shift + H |
| Action | macOS | Windows/Linux |
|---|---|---|
| Search | Cmd + F |
Ctrl + F |
| Toggle Bookmark | Cmd + B |
Ctrl + B |
| Translate | Cmd + J |
Ctrl + J |
| Translate with Explanation | Cmd + E |
Ctrl + E |
| Select All Text | Cmd + A |
Ctrl + A |
| Action | Key |
|---|---|
| Preview Previous Result | β |
| Preview Next Result | β |
| Confirm Result | Enter |
| Clear Search | Escape |
- Frontend: React, Next.js, TypeScript, Tailwind CSS
- Desktop: Tauri 2.x (Rust)
- PDF Rendering: react-pdf (PDF.js)
- Database: SQLite (via rusqlite)
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.