KillerPDF 2.0: choosing the cross-platform stack #320
SteveTheKiller
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I plan to load KillerPDF 1.9.x with features and get them stable there. When 2.0 development begins, I want the work to focus on porting the established application instead of designing major features and changing platforms at the same time.
The KillerPDF.Engine is already UI-free and cross-platform, but the rest of the application still depends on WPF, PDFium, PdfPig and Tesseract. PdfPig is scheduled to be removed during 1.9 as content extraction moves into KillerPDF.Engine. That leaves three major decisions for 2.0:
I have not selected the libraries yet. This discussion is for gathering real experience, identifying constraints and deciding what should be prototyped. It is not a vote, and I am not looking for a list of framework names without practical reasoning behind them.
Requirements
The 2.0 stack needs to support:
Windows support cannot become worse just to add other platforms. KillerPDF is already a working daily application, so the replacement stack has to preserve its behavior rather than merely display a PDF.
UI options
The obvious .NET candidates include Avalonia, Uno Platform and .NET MAUI. Another possibility is keeping WPF as the Windows front end while building separate interfaces for other platforms.
For each option, I would like to understand:
Rendering options
PDFium works well for KillerPDF on Windows, but the current native binaries do not provide the complete platform and architecture coverage required for 2.0.
Possible directions include obtaining or maintaining PDFium builds for every target, using MuPDF, using Poppler, or integrating another renderer behind a KillerPDF-owned abstraction.
The important questions are:
KillerPDF.Engine remains the document parser, writer and editor. The renderer only needs to produce accurate page pixels and support the interactive information the desktop application requires.
OCR options
Tesseract currently provides offline OCR, but 2.0 needs a dependable way to package and run it on every supported platform and architecture.
I am open to retaining Tesseract with a better native packaging strategy or evaluating another offline engine. Cloud-only OCR is not an acceptable replacement.
The comparison should include:
How I plan to decide
Before choosing the 2.0 stack, I want to build small prototypes of the strongest options. Each prototype should open and render files from the KillerPDF corpus, exercise zooming and scrolling, display a representative application shell, and produce real packaging results on the supported platforms.
The decision will be based on evidence from those prototypes, licensing review and maintenance cost. Popularity by itself will not decide it.
If you have direct experience with any of these libraries, especially shipping a real desktop application on Linux or macOS, I would appreciate details about what worked, what broke and what you had to maintain yourself. Links to relevant projects, benchmarks, packaging examples and known limitations are welcome.
All reactions