Stirling-PDF icon indicating copy to clipboard operation
Stirling-PDF copied to clipboard

[V2] feat(convert): add support for CBR to PDF and PDF to CBR conversions

Open balazs-szucs opened this issue 1 month ago • 2 comments

Description of Changes

TLDR:

  • Introduced ConvertFromCbrSettings and ConvertToCbrSettings components for handling conversion-specific settings.
  • Updated ConvertSettings to include CBR-related configurations.
  • Updated useConvertParameters with new parameters: cbrOptions and pdfToCbrOptions.
  • Updated locales with CBR-related translations.
  • Added endpoints and updated conversion matrix for CBR formats in convertConstants.
  • Modified useConvertOperation to handle CBR-specific parameters during form data preparation.

For backend see this PR: #4581

This pull request adds support for converting between CBR (Comic Book Archive) and PDF formats in the frontend. It introduces new UI components for configuring conversion options, updates the conversion constants and logic, and ensures parameters for these conversions are handled correctly throughout the app.

CBR/PDF Conversion Features:

  • Added new UI components: ConvertFromCbrSettings for CBR to PDF conversions (option to optimize for ebook readers), and ConvertToCbrSettings for PDF to CBR conversions (DPI selection for image rendering). These are conditionally rendered in ConvertSettings.tsx based on selected formats.

Conversion Logic and Constants:

  • Extended conversion endpoints, format options, conversion matrix, and endpoint mappings to support CBR to PDF and PDF to CBR conversions.
  • Updated shouldProcessFilesSeparately logic to handle PDF to CBR conversions, ensuring each PDF generates its own archive.

Parameter Handling:

  • Added new parameters (cbrOptions and pdfToCbrOptions) to the conversion parameter interface and default values, ensuring they are set/reset appropriately during format changes
  • Modified form data construction to include new options for CBR/PDF conversions (optimize for ebook, DPI).

Frontend

image image

Note on RAR5. You can go back-and-forth with this converter due to the fact on default pdf to cbr makes RAR5 meanwhile, cbr to pdf can only RAR4 and below. This is unfortunate limitation of JunRAR library. In the real world, generally RAR5s are not that common, and they mostly unsupported by open-source software.


Checklist

General

Documentation

Translations (if applicable)

UI Changes (if applicable)

  • [X] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR)

Testing (if applicable)

  • [X] I have tested my changes locally. Refer to the Testing Guide for more details.

balazs-szucs avatar Nov 06 '25 09:11 balazs-szucs

@jbrunton96 looks like you are generating app installers for every commit in every PR.. please dont haha

Frooodle avatar Nov 13 '25 15:11 Frooodle

@jbrunton96 looks like you are generating app installers for every commit in every PR.. please dont haha

https://github.com/Stirling-Tools/Stirling-PDF/pull/4897

jbrunton96 avatar Nov 14 '25 13:11 jbrunton96