Files
cbconvert/README.md
2022-09-05 18:13:03 +02:00

6.8 KiB

CBconvert

Introduction

CBconvert is a Comic Book converter.

It can convert comics to different formats to fit your various devices.

Features

 - reads RAR, ZIP, 7Z, CBR, CBZ, CB7, CBT, PDF, EPUB, and plain directory  - always saves processed comics in CBZ (ZIP) archive format  - images can be converted to JPEG, PNG, TIFF, WEBP, or 4-Bit BMP (16 colors) file format  - rotate, flip, adjust brightness/contrast, adjust levels (Photoshop-like) or grayscale images  - resize algorithms (NearestNeighbor, Box, Linear, MitchellNetravali, CatmullRom, Gaussian, Lanczos)  - export covers from comics  - create thumbnails from covers by FreeDesktop specification

Download

 - Windows  - Linux

Using cbconvert in file managers to generate FreeDesktop thumbnails

Copy cbconvert cli binary to your PATH and create file ~/.local/share/thumbnailers/cbconvert.thumbnailer :

[Thumbnailer Entry]
TryExec=cbconvert
Exec=cbconvert thumbnail --quiet --width %s --outfile %o %i
MimeType=application/pdf;application/x-pdf;image/pdf;application/x-cbz;application/x-cbr;application/x-cb7;application/x-cbt;application/epub+zip;

This is what it looks like in the PCManFM file manager:

thumbnails

Using command line app

    Usage: cbconvert [] [file1 dir1 ... fileOrDirN]

    Commands:

      convert*             Convert archive or document (default command)

        --width             Image width (default "0")         --height             Image height (default "0")         --fit             Best fit for required width and height (default "false")         --format             Image format, valid values are jpeg, png, tiff, bmp, webp (default "jpeg")         --quality             JPEG image quality (default "75")         --filter             0=NearestNeighbor, 1=Box, 2=Linear, 3=MitchellNetravali, 4=CatmullRom, 6=Gaussian, 7=Lanczos (default "2")         --no-cover             Do not convert the cover image (default "false")         --no-rgb             Do not convert images that have RGB colorspace (default "false")         --no-nonimage             Remove non-image files from the archive (default "false")         --no-convert        Do not transform or convert images (default "false")         --grayscale             Convert images to grayscale (monochromatic) (default "false")         --rotate             Rotate images, valid values are 0, 90, 180, 270 (default "0")         --flip             Flip images, valid values are none, horizontal, vertical (default "none")         --brightness             Adjust the brightness of the images, must be in the range (-100, 100) (default "0")         --contrast             Adjust the contrast of the images, must be in the range (-100, 100) (default "0")         --suffix             Add suffix to file basename (default "")         --levels-inmin             Shadow input value (default "0")         --levels-gamma             Midpoint/Gamma (default "1")         --levels-inmax             Highlight input value (default "255")         --levels-outmin             Shadow output value (default "0")         --levels-outmax             Highlight output value (default "255")         --outdir             Output directory (default ".")         --size             Process only files larger than size (in MB) (default "0")         --recursive             Process subdirectories recursively (default "false")         --quiet             Hide console output (default "false")

      cover             Extract cover

        --width             Image width (default "0")         --height             Image height (default "0")         --fit             Best fit for required width and height (default "false")         --quality             JPEG image quality (default "75")         --filter             0=NearestNeighbor, 1=Box, 2=Linear, 3=MitchellNetravali, 4=CatmullRom, 6=Gaussian, 7=Lanczos (default "2")         --outdir             Output directory (default ".")         --size             Process only files larger than size (in MB) (default "0")         --recursive             Process subdirectories recursively (default "false")         --quiet             Hide console output (default "false")

      thumbnail             Extract cover thumbnail (freedesktop spec.)

        --width             Image width (default "0")         --height             Image height (default "0")         --fit             Best fit for required width and height (default "false")         --filter             0=NearestNeighbor, 1=Box, 2=Linear, 3=MitchellNetravali, 4=CatmullRom, 6=Gaussian, 7=Lanczos (default "2")         --outdir             Output directory (default ".")         --outfile             Output file (default "")         --size             Process only files larger than size (in MB) (default "0")         --recursive             Process subdirectories recursively (default "false")         --quiet             Hide console output (default "false")

Examples

Rescale images to 1200px for all supported files found in a directory with a size larger than 60MB:

    cbconvert --recursive --width 1200 --size 60 /media/comics/Thorgal/

Convert all images in pdf to 4bit BMP images and save the result in ~/comics directory:

    cbconvert --bmp --outdir ~/comics /media/comics/Garfield/Garfield_01.pdf

BMP format is a very good choice for black&white pages. Archive size can be smaller 2-3x and the file will be readable by comic readers.

Generate thumbnails by freedesktop specification in ~/.cache/thumbnails/normal directory with width 512:

    cbconvert thumbnail --width 512 --outdir ~/.cache/thumbnails/normal /media/comics/GrooTheWanderer/

Extract covers to ~/covers dir for all supported files found in the directory, Lanczos algorithm is used for resizing:

    cbconvert cover --outdir ~/covers --filter=7 /media/comics/GrooTheWanderer/

Compile

Install ImageMagick development packages, e.g. on Ubuntu:

    apt-get install libmagickcore-dev libmagickwand-dev

Install to GOBIN:

    go install github.com/gen2brain/cbconvert/cmd/cbconvert@latest