Skip to content
/ Caly Public

Caly Pdf Reader is a cross-platform pdf document reader application written in C#

License

Notifications You must be signed in to change notification settings

BobLd/Caly

Repository files navigation

Caly Pdf Reader

About

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.

Goal and Roadmap

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 #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

Windows, Linux, MacOS and mobile compatible

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.

Contributions are welcome

Feel free to contribute to the project! You can also help Caly Pdf Reader by contributing to:

Clone and build

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

Preview

image

Releases

No releases published

Packages

No packages published

Languages