A Windows native PDF reader and organizer built with WinUI 3 and PDFium.
- Read — Multi-tab PDF viewing with zoom, page navigation, and text search
- Organize — Reorder, rotate, and delete pages; export merged PDFs in grid order
- Edit — Ink, text, and signatures on the active page; Save (with overwrite confirmation) and Save As
- Password-protected PDFs — Prompts for a password when opening encrypted files
- File association — Double-click a
.pdfto open in ElliePdf
- Windows 10 1809 or later
- Visual Studio 2022 with the Windows App SDK workload, or .NET SDK 11+
- Native
pdfium.dll(copied automatically from thePDFium.WindowsV2NuGet package on build)
dotnet build -p:Platform=x64Launch from Visual Studio using ElliePdf (Package) or ElliePdf (Unpackaged).
App icons use a playful folded-page monogram mark in #dcae96 (named for Ellie) on a transparent background. Source artwork lives in Assets/Brand/elliepdf-logo-master.png.
ElliePdf/
├── ElliePdf.Core/ Shared non-UI logic (zoom calculations)
├── Pages/ ReaderPage; OrganizePage and EditPage (project root)
├── ViewModels/ MVVM view models
├── Services/ PDFium wrapper and document session
├── Controls/ Reusable UI controls (PdfPageViewer)
├── Navigation/ Cross-page navigation helpers
└── Assets/ App icons and tiles
IPdfService/PdfService— PDFium P/Invoke for open, render, search, merge, saveIDocumentSessionService— Shared active document for Reader and OrganizeReaderViewModel— Page rendering, zoom, and searchDocumentCollectionViewModel— Multi-document organize workspace
Regenerate transparent PNG tiles and multi-size AppIcon.ico from the brand master artwork (pip install pillow once):
.\tools\Generate-AppIcons.ps1dotnet test ElliePdf.Tests\ElliePdf.Tests.csprojRelease builds are self-contained (Native AOT disabled for PDFium compatibility). Use the publish profiles under Properties/PublishProfiles/.