Cbz/cbr file converter
Helper utility for cbz/cbr files (comic books mostly) content scaling and converting to WebP (as default) format:
- source: any format recognized by 7-zip (zip, rar, tar, 7z = cbz, cbr, cbt, cb7 respectively),
- initially: conversion to WebP format with libwebp (typically 2-3 times smaller image sizes),
- dozens of formats available since version 0.9 thanks to ImageMagick (including AVIF, JPEG XL, FLIF - your reader would be actual limitation and WebP might be still leading due to compatibility),
- optional image resampling (percentage),
- pdf import (using Ghostscript),
- output: zip (cbz) with no compression (copy mode).
Depending on resampling used output files are at least 2.5 times smaller than source with subjectionably neglectable quality loss. When combining conversion to WebP with 50% resampling from 1920px output files are typically 10 times smaller than source.
Application is native and portable, settings are stored in local ini file, there are no dependencies on any runtime framework or non-standard dlls (except for those distributed along with it, i.e. 7z.dll).
Note: source files are immediately extracted to temporary subdirectories which allows browsing/editing content before converting. Make sure you have enough disk space to extract all queued files.
- Version 0.1, initial release.
- Version 0.2. Added picture width info column (currently for jpg files only, but that's vast majority of source files) - helpful when selecting picture scaling for output.
- Version 0.3:
- RMB menu: clear all converted, delete selected,
- aborting jobs on quit (previously: long wait time for finishing),
- deleting existing temp directory before unpacking,
- FIXED: file list flickering,
- settings: priority for worker processes.
- Version 0.4
- FIXED: image files with uppercase extension not included in file statistics,
- FIXED: files with read-only attribute inside archive were not deleted resulting in duplicate pages in output archive,
- settings: play sound when done.
- Version 0.5
- added default scaling for specified picture size(s) setting; new scaling list entries can be added with down arrow.
- Version 0.6
- Version 0.7
- FIXED: problem with saving conversion thread priority (going back to default after restart),
- FIXED: with source containing png images resizing was set by default to 0% resulting in no conversion.
- Version 0.7.1
- increased maximum allowed source file size to 2GB (this was intended to be safeguard for accidental dropping in of non-comic "big" archive, but apparently there are 700+ MB scans out there already).
- Version 0.8
- new resize mode, intended for converting archives with images with random/mixed sizes - resizing images to specified size only if they are bigger (either width or height) than specified,
- resize: added list with common resize percentages (50%, 33%) to choose without typing.
- Version 0.8.1
- three submodes for conditional resize: resizing is higher or wider, only if wider or only if higher.
- Version 0.9
- cwebp replaced with ImageMagick to allow more flexibility for input and output formats, in particular using CbxConverter only to resize and repack to cbz, keeping images in jpg format for platforms for which it may be hard to find reader with WebP support (iOS)
- added "Output extension" (by default defining compression method) to settings
- ImageMagick comes with most likely better resampling algorithms and overhelming list of options that may be even not possible to use at the moment, e.g. I don't know of comic book reader with support for FLIF
- if upgrading - add -quality 75 in settings as extra parameter to keep same compression level
- this version is not tested as much as 0.8.1 that emerged after several iterations with bugs fixed after reporting by users - if you need only WebP output you may prefer previous version or do not delete original files until checking content and compression level of files produced
- Version 0.10
- settings: added options to set custom temp and output directories
- settings: extra parameters for ImageMagick can be now split into ones placed before resize (new option) and ones placed after it (old setting)
- added "Delete source file(s)" to context menu
- added output file size and output/input ratio to list
Example conversion results, WebP output with -quality 70 parameter:
- Version 0.11
- PDF files can be used as source (using GhostScript for conversion), see pdf import page
- Version 0.11.1 - security update for 7-zip
- 7-zip files updated to version 18.01
- default position for settings and log windows changed from desktop center (might cause problem in multimonitor setup if second monitor is turned off) to screen center
- secondary windows can be closed with Esc
- Version 0.11.2
CbxConverter_0_11_2.7z - security update for 7-zip
- 7-zip files updated to version 18.05
- Version 0.12
- ImageMagick is now used to identify images - slower but able to show widths of all image types (including temporary png files used when rendering pdf files)
- File menu: added options to open temp and output directory
- Version 0.12.2
- accepting directories with drag and drop (reading recursively)
- added option to use source file directory for output file; to avoid file name conflict image extension is added to output file name, e.g. AAA.cbz -> AAA.webp.cbz
- Version 0.13 (2022.01.01)
- File menu: added "Add files from source directory (recursively)" option (and directories are still accepted when dropped into application)
- Settings/Directories: option to recreate source directory structure in output directory if directory is added as source (from File menu or dropped into application)
- directories are shown on file list if directory was added as source (e.g. Series\SerieA\TitleA.cbz)
- multithreading (used when multiple comic books are processed at once) - new setting: General/Worker thread count
- file list context menu: added option to delete ouput file(s) (e.g. deleting output files with poor compression ratio)
- added sorting function to file list, clicking on list header (e.g. sorting output files by compression ratio)
- fixed "Play sound when done" option (sound was always played)
- added warning if CbxConverter is placed inside folder with path longer than 25 characters (risk of hitting MAX_PATH limit)
- updated included copy of ImageMagick to version 18.104.22.168 - this would extend supported format list with e.g. AVIF and JPEG XL; if you want to try AVIF - it is supported by SumatraPDF prelease version since 2022.08 or so
- Version 0.14 (2023.02.17)
- removed hard limits for source file size (2 GB) and output file size, changed few variables to 64 bit wide
- minor adjustments for window sizes
- added file name to log if image identification failed (probably because file was actually not an image)
- splitted "Unpacking..." file state into "Unpacking..." + "Identifying..." (identifying image sizes usually takes much longer than unpacking itself and grouping these two states together was confusing)
- added progress percentage for "Identifying" and "Converting" states
- added "avif" and "jxl" (JPEG XL) to output format examples in settings window
Currently application has 260 characters paths limitations. It's recommended to run application from location near to drive root if converted files have long names (application is creating temporary subdirectories with same names as file names and extracts file contents to them).
For WebP and CBR/CBZ in general I'd like to recommend SumatraPdf - great open source reader with WebP support (official since version 2.4): http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html. It also supports AVIF in prelease version since ~2022.08.
CbxConverter and Wine
CbxConverter 0.8.1 (using cwebp.exe) seems to work with Wine / Ubuntu 16. CbxConverter 0.9 and newer is using magick.exe and apparently there are some runtime dlls missing. I haven't tried copying them from windows - to get list of missing dlls run "wine magick.exe" from linux terminal.
Note: if you are getting ["magick.exe" - Application Error] - [The application was unable to start correctly (0xc000007b)] error then most likely Visual C++ runtime libraries are missing. Looking into magick.exe binary this seems to be "Visual C++ Redistributable Packages for Visual Studio 2013" (MSVCR120.dll, VCOMP120.DLL).