Overview
Uxie’s annotation system allows you to highlight text and capture images from your PDFs, automatically syncing them to your notes for easy reference and organization. Every highlight is preserved and can be jumped to instantly from your notes.Annotation Types
Text Highlights
Select and highlight any text in your PDF with click-to-navigate functionality
Area Highlights
Capture images or diagrams by selecting rectangular areas (hold Alt key)
Creating Highlights
Text Highlighting
Choose Action
A popover menu appears with options:
- Highlight icon: Save the selection
- Copy icon: Copy text to clipboard
- Read icon: Start text-to-speech
- Explain icon: Ask AI to explain (if document is vectorized)
- Summarize icon: Get AI summary (if document is vectorized)
Text highlights are created at
/src/components/pdf-reader/index.tsx:192 and synced to notes at line 18-99.Area/Image Highlighting
Capture images, diagrams, charts, or any visual content:Working with Highlights
Navigating to Highlights
From your notes:- Find any highlighted text block (marked with a yellow bar on the left)
- Click the yellow indicator
- The PDF viewer automatically scrolls to that exact highlight
Deleting Highlights
Editing Area Highlights
Area highlights (images) can be resized:- Click and hold on the highlight border
- Drag to resize the captured area
- Release to save the new size
- The change is automatically saved to the database
/src/components/pdf-reader/pdf-highlighter.tsx:244.
Highlight Popover Actions
Text Selection Menu
When you select text, you get quick access to:Copy to Clipboard
Copy to Clipboard
Instantly copy selected text to your clipboard for pasting elsewhere. No need to open context menus.
Read Aloud
Read Aloud
Start text-to-speech from the selected text. The reader will begin from that exact position, perfect for following along as you read.
Explain (AI)
Explain (AI)
Available when your document is vectorized. Asks the AI assistant to explain the selected text in simple terms. The explanation appears in the chat panel.
Summarize (AI)
Summarize (AI)
Available when your document is vectorized. Generates a concise summary of the selected text using AI. Results appear in the chat panel.
Notes Integration
Automatic Syncing
When you create a highlight:- Text highlights are inserted as special highlight blocks with the original text
- Image highlights are uploaded and inserted as image blocks
- Both types include a reference ID linking back to the PDF position
- Highlights appear at the end of your current notes
Highlight Block Features
In your notes, highlight blocks:- Display a yellow vertical bar on the left side
- Show the original highlighted text
- Are clickable - jumping to the source location in the PDF
- Can be edited, moved, or deleted like any note block
- Export correctly when you export your notes
/src/components/editor/custom/highlight.tsx.
Permissions
Only document owners and editors can create, modify, or delete highlights. Viewers can see highlights but cannot interact with them.
Permission Levels
| Role | View Highlights | Create Highlights | Delete Highlights |
|---|---|---|---|
| Owner | ✓ | ✓ | ✓ |
| Editor | ✓ | ✓ | ✓ |
| Viewer | ✓ | ✗ | ✗ |
Technical Details
Implementation
The annotation system uses:- react-pdf-highlighter: Core highlighting functionality
- Position storage: Bounding rectangles and page numbers stored in database
- Optimistic updates: Immediate UI feedback with server sync
- Real-time sync: Changes propagate to notes instantly
Data Structure
Each highlight stores:Performance
- Highlights are rendered on-demand as pages load
- Optimistic updates provide instant feedback
- Database syncing happens in the background
- Image uploads use efficient compression
AI-Enhanced Features
Explain Text
Get AI-powered explanations of complex passages
Summarize
Generate concise summaries of selected text
AI features require your document to be vectorized first. Click “Turn PDF Interactive” in the Chat tab to enable AI features.
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Area highlight mode | Hold Alt while selecting |
| Deselect text | Escape |
| Copy selected text | Ctrl/Cmd + C (after selection) |
Best Practices
Related Features
Note Taking
Organize highlights in your notes
AI Chat
Ask questions about highlights
Text-to-Speech
Listen to highlighted text
