Caly Pdf Reader is a cross-platform pdf document reader application written in C# (net8.0 with AOT), only using Avalonia & SkiaSharp + PdfPig for the UI / pdf rendering part. It is released under GPL-3.0 license.
The development is currently in alpha.
The aim is to develop a C# cross-platform open source pdf reader/viewer application. Below is a table of the current progress:
Task | Priority | Progress | Comment | TODO |
---|---|---|---|---|
View pdf document | High | Done | Performance to improve | |
Open many documents with tab system | High | Done | Use Tabalonia | Bugs to fix - see BobLd#11 |
Navigate and zoom document (go to page, zoom in/out, etc.) | High | Done | Performance to improve | |
Text selection | High | Done | Improve rendering by merging words into lines | |
Copy text selection to clipboard | High | Done | ||
Search text | High | Work in Progress | Use Lifti lib, see text-search-lifti branch |
|
Run JavaScript embedded in a PDF | Medium | Not started | Use Jint | |
UI / UX | Low | Work in Progress | How the app feels | Need better colors, icons, transitions, etc. |
OCR | Low | Not started | Use RapidOCR onnx models | |
Table extraction | Low | Not started | Use tabula-sharp or camelot-sharp |
As of now, only the Windows, Linux and Android versions have been tested. Android version runs, but is not optimised for the platfotm. Better mobile support is planned, including iOS.
Feel free to contribute to the project! You can also help Caly Pdf Reader by contributing to:
Caly Pdf Reader uses submodules, you will need to run the following after cloning it:
git submodule update --init --recursive
Caly Pdf Reader is a net8.0 application with Native AOT (ahead of time compilation) enabled. To publish the application, run the following (example for Windows):
dotnet publish -r win-x64 -c Release -f net8.0