A native macOS application for converting HTML to PDF using the Prince HTML to PDF converter.
PrinceUI provides an intuitive, Mac-native interface for Prince, making it easy to convert HTML documents to high-quality PDF files. Instead of using the command line, you can drag and drop HTML files, adjust settings visually, and see conversion progress in real-time.
- Drag & Drop: Drop HTML files directly onto the app
- File Picker: Browse for HTML files to convert
- Progress Tracking: Real-time progress indication
- Auto-open: Optionally open PDFs automatically after conversion
- Conversion Logging: View detailed output from Prince
- Paper size (A4, Letter, Legal, A3, A5, Tabloid)
- Page orientation (Portrait, Landscape)
- JavaScript: Enable/disable JavaScript execution in HTML
- PDF Profiles: Comprehensive support for PDF/A, PDF/X, and PDF/UA standards
- Font Embedding: Control whether fonts are embedded in the PDF
- Font Subsetting: Reduce file size by including only used characters
- Tagged PDF: Generate accessible PDFs with structure tags
- Compression: Enable/disable PDF compression
- PDF Metadata: Set document title, author, subject, and keywords
- Encryption: Encrypt PDFs with optional password protection
- PDF Permissions: Control printing, copying, modifying, and annotations
- Auto-detect Prince installation
- Custom Prince executable path
- Default output location
- Persistent settings
- macOS: 14.0 (Sonoma) or later
- Prince: Prince HTML to PDF converter must be installed
- Download from: https://www.princexml.com/download/
- Typically installed via Homebrew:
brew install --cask prince
Note: PrinceUI works on both Intel and Apple Silicon Macs running macOS 14+.
If you haven't installed Prince yet:
# Using Homebrew (recommended)
brew install --cask prince
# Verify installation
prince --version- Download PrinceUI.app
- Move to /Applications
- Double-click to launch
- If you see a security warning, right-click and select "Open"
- Launch PrinceUI
- Drag an HTML file onto the input area (or click to browse)
- Choose where to save the PDF (or use default location)
- Adjust paper size and orientation if needed
- Click "Convert to PDF"
- View progress and status
After a conversion:
- Click "Show Conversion Log" to see:
- Full Prince command executed
- Standard output from Prince
- Any warnings or messages
- Timestamps and file paths
Access settings via:
- Menu: PrinceUI → Settings (⌘,)
- Main Window: Click "More Settings..." link
- Prince Installation: Auto-detect or manually set Prince path
- Default Settings: Set default paper size and orientation
- Output: Choose default output location and auto-open behavior
- JavaScript: Enable/disable JavaScript execution
- PDF Generation:
- Choose PDF profile from 16 options (PDF/A, PDF/X, PDF/UA, combined profiles)
- Embed fonts in the PDF
- Subset fonts to reduce file size
- Tagged PDF for accessibility
- PDF compression
- PDF Metadata:
- Set document title
- Set document author
- Set document subject
- Add keywords for searchability
- PDF Encryption:
- Enable encryption (passwords optional)
- Set user password (restricts opening)
- Set owner password (controls permissions)
- Control PDF permissions:
- Allow/disallow printing
- Allow/disallow copying text and images
- Allow/disallow modifying document
- Allow/disallow annotations and form filling
By default, PDFs are saved next to the input HTML file with a .pdf extension. You can:
- Choose a different location for each conversion
- Set a default output location in Settings
PrinceUI supports 16 PDF profiles:
Archival (PDF/A):
- PDF/A-1a, PDF/A-1b - ISO 19005-1 (2005)
- PDF/A-2a, PDF/A-2b - ISO 19005-2 (2011)
- PDF/A-3a, PDF/A-3b - ISO 19005-3 (2012, supports attachments)
Accessibility (PDF/UA):
- PDF/UA-1 - ISO 14289-1 (Universal Accessibility)
Print Production (PDF/X):
- PDF/X-1a:2001, PDF/X-1a:2003 - Basic print production
- PDF/X-3:2002, PDF/X-3:2003 - Print with color management
- PDF/X-4 - Modern print production (supports transparency)
Combined Profiles (Archival + Accessibility):
- PDF/A-1a+PDF/UA-1
- PDF/A-2a+PDF/UA-1
- PDF/A-3a+PDF/UA-1
Default: Prince chooses the appropriate PDF version automatically based on features used
- Open Settings → PDF Options
- Enable "Encrypt PDF"
- Optionally set passwords:
- User Password: Restricts opening the PDF
- Owner Password: Controls who can change permissions
- Set permissions (printing, copying, modifying, annotations)
- Convert your HTML file
Note: Passwords are optional. Without passwords, the PDF is encrypted but can be opened by anyone, while permissions still apply.
Not yet - batch conversion is planned for a future update.
Prince supports modern HTML5 and CSS3. For detailed information, see: https://www.princexml.com/doc/
PrinceUI checks these locations:
/opt/homebrew/bin/prince(Homebrew on Apple Silicon)/usr/local/bin/prince(Homebrew on Intel)/usr/bin/prince(System installation)
If Prince is installed elsewhere:
- Open Settings → General
- Click "Browse..." next to Prince executable path
- Navigate to your Prince installation
Or click "Auto-detect" to search common locations again.
Not directly in the UI yet. For now, you can:
- Include CSS in your HTML file using
<link>or<style>tags - Use Prince CSS extensions in your stylesheets
- Future versions may add a custom CSS file option
Yes, Prince can load:
- Local images and resources referenced in your HTML
- External resources via HTTP/HTTPS (if JavaScript is enabled)
- Web fonts (@font-face)
Settings are stored in:
~/Library/Preferences/com.princexml.PrinceUI.plist
To reset all settings:
defaults delete com.princexml.PrinceUISolution:
- Install Prince:
brew install --cask prince - Or click "Auto-detect" in Settings
- Or manually set the path in Settings → General
Solutions:
- Click "Show Conversion Log" to see the error
- Check that your HTML file is valid
- Verify all referenced resources (images, CSS) exist
- Check Settings → PDF Options for incompatible options
Solutions:
- Right-click PrinceUI.app → Open (for first launch)
- Check System Settings → Privacy & Security
- Make sure you're running macOS 13.0 or later
Possible causes:
- Large HTML files
- Many external resources
- Complex CSS layouts
- Large images that need processing
Tips:
- Use local resources instead of fetching from the web
- Optimize images before conversion
- Simplify CSS if possible
Solutions:
- Verify your HTML renders correctly in a browser
- Check for Prince-specific CSS you might need
- Try different PDF profiles
- Consult Prince documentation for CSS support
- Check conversion log for warnings
- ⌘, - Open Settings
- ⌘Q - Quit PrinceUI
PrinceUI:
- Does not collect any data
- Does not send information over the network
- Only accesses files you explicitly select
- Stores preferences locally on your Mac
For issues with:
- PrinceUI: Contact YesLogic support
- Prince itself: Visit https://www.princexml.com/doc/help/
PrinceUI is provided by YesLogic Pty. Ltd.
Prince itself requires a separate license:
- Free for non-commercial use
- Commercial licenses available at https://www.princexml.com/purchase/
- Prince HTML to PDF: YesLogic Pty. Ltd.
- PrinceUI: Native macOS interface for Prince
- Built with Swift and SwiftUI
- Initial release
- Drag & drop HTML conversion
- Real-time progress tracking with Prince structured logging
- Comprehensive PDF configuration:
- 16 PDF profiles (PDF/A, PDF/X, PDF/UA, combined profiles)
- Font embedding and subsetting
- PDF metadata (title, author, subject, keywords)
- Encryption with optional passwords
- Granular permissions control
- Conversion logging with full command details
- Auto-detect Prince installation
- Native macOS interface built with SwiftUI
- Swift 6 concurrency compliant
Potential features for future releases:
- Batch conversion (multiple files)
- Conversion presets (saved configurations)
- Recent files list
- Custom CSS file attachment (--style)
- Custom JavaScript file attachment (--script)
- Base URL configuration (--baseurl)
- Network access controls (--no-network)
- iframe processing (--iframes)
- Advanced margin settings (--page-margin)
- Color conversion for print (--convert-colors)
Visit Prince: https://www.princexml.com