Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for PDF #6

Open
HadrienGardeur opened this issue May 13, 2024 · 1 comment
Open

Support for PDF #6

HadrienGardeur opened this issue May 13, 2024 · 1 comment
Labels
Epic Higher level view of a feature or group of issues

Comments

@HadrienGardeur
Copy link
Contributor

PDF support is an important part of the Readium Mobile toolkit and something that we also want to replicate on the Web.

In Readium Mobile, this support is based on native support for PDF (PDFKit on iOS, iPadOS and macOS while Android uses PDFium) as well as PSPDFKit (only on Android for now and which requires a commercial license).

On the Web, there's no native support for PDF, which means that using a PDF library will be mandatory. Rather than re-inventing the wheel, Readium Web will integrate an existing project (such as PDF.js) and make sure that the navigator and all of its usual API (Preferences or Content Iterator API for example) behave as expected and consistently with the rest of the project.

This integration must support the ability to stream a PDF using byte ranges as long as the PDF is linearized in order to provide a decent UX for larger PDF files.

@HadrienGardeur HadrienGardeur added the Epic Higher level view of a feature or group of issues label May 13, 2024
@HadrienGardeur
Copy link
Contributor Author

HadrienGardeur commented May 13, 2024

I've created this issue in the Web repo but most of the work should be handled in the ts-toolkit.

There are very few reasons why a PDF should be parsed and streamed from the go-toolkit, aside from potentially encrypting/decrypting byte ranges on the fly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Higher level view of a feature or group of issues
Projects
None yet
Development

No branches or pull requests

1 participant