Kindle Comic Converter (KCC)

repository·master·Indexed 26 days ago

https://github.com/ciromattia/kcc

A specialized tool for optimizing black & white or color comics and manga for E-ink devices including Kindle, Kobo, and ReMarkable. KCC processes images to ensure fullscreen display, optimizes contrast and black levels, and supports fixed layouts and downscaling to specific device resolutions. It provides a GUI for basic workflows and CLI tools like kcc-c2e for comic-to-ebook conversion and kcc-c2p for comic-to-page processing. Supported output formats include MOBI, EPUB, CBZ, and PDF.

Tokens
3.2K
Snippets
7
Records
14
Agent score
41%

What's inside KCC

  1. Overview of Kindle Comic Converter (KCC)

    master

    Kindle Comic Converter (KCC) is a tool designed to optimize black & white or color comics and manga for E-ink ereaders such as Kindle, Kobo, and ReMarkable. It processes images to ensure fullscreen display without margins, supports fixed layouts, and performs downscaling to specific device resolutions to reduce file size and improve performance (battery life and page turn speed).

    Key Features:

    • Optimizes contrast and black levels for E-ink screens.
    • Fixes common formatting issues like incorrect margins, wrong page turn direction for manga (RTL), and unaligned two-page spreads.
    • Supports direct conversion of high-quality print PDFs (e.g., from Kodansha or Humble Bundle).
    • Automatically defaults to PDF output when using reMarkable profiles (Rmk1, Rmk2, RmkPP) for optimal compatibility.
  2. Download KCC

    master

    KCC is available for Windows, macOS, and Linux. You can download the latest releases from the official GitHub releases page.

    Recommended Files:

    • Windows: KCC_*.*.*.exe
    • macOS (Apple Silicon M1/M2/M3): kcc_macos_arm_*.*.*.dmg
    • macOS (Intel): kcc_macos_i386_*.*.*.dmg

    Note for macOS users: If you encounter a can't be opened error, you may need to follow Apple's instructions for opening apps from unidentified developers. For 2022+ Kindles on macOS, you may need the Amazon USB File Manager to transfer files.

    https://github.com/ciromattia/kcc/releases
  3. Install KCC CLI dependencies on Debian-based systems

    master

    The CLI version of KCC is intended for power users and has reduced dependencies. On Debian-based distributions, you can install the necessary dependencies using the following command:

    sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugify
    sudo apt-get install python3 p7zip-full python3-pil python3-psutil python3-slugify
  4. Basic Usage Workflow

    master
    1. Import: Drag and drop your input files or folders into the KCC GUI window.
    2. Configure: Adjust settings using the GUI. You can hover over options to see detailed tooltips.
    3. Convert: Click the Convert button.
      • Tip: Hold Shift while clicking the convert button to change the default output directory.
    4. Transfer: Drag and drop the generated output files from your computer onto your device's documents folder via USB.
  5. Develop KCC UI files

    master
    To edit the .ui files, use pyside6-designer (included in the pyside6 package). After making changes to the UI, use the gen_ui_files scripts to autogenerate the corresponding Python UI code. Ensure correct tab order is applied using the Tab Order Editing Mode in the designer.
  6. Install KCC from source on macOS

    master

    To install KCC from source on macOS, use a Python virtual environment. If the system-installed Python causes issues, install the latest version via Homebrew or the official Python website.

    # One-time setup
    python3 -m venv venv
    source venv/bin/activate
    pip install --upgrade pip
    pip install -r requirements.txt
    python kcc.py
    
    # Every time you open a new Terminal
    source venv/bin/activate
    python kcc.py
  7. Install Prerequisites for KCC

    master

    To access all features and ensure faster conversions, you should install the following optional tools. After installation, restart KCC so it can detect them.

    • KindleGen: Required for MOBI conversion. On Windows and macOS, installing Amazon Kindle Previewer will allow KCC to autodetect kindlegen.
    • 7-Zip: Highly recommended to speed up conversions and is required for handling certain archive formats (CBZ, CBR, RAR, CB7, 7Z).
  8. Install KCC from source on Windows

    master

    To install KCC from source on Windows, use a Python virtual environment to manage dependencies. This process involves a one-time setup and a recurring activation step for subsequent runs.

    # One-time setup
    python -m venv venv
    venv\Scripts\activate.bat
    pip install --upgrade pip
    pip install -r requirements.txt
    python kcc.py
    
    # Every time you open a new Command Prompt
    venv\Scripts\activate.bat
    python kcc.py
  9. Troubleshooting KCC Common Issues

    master

    Blank Pages

    • May occur when using PNG with Kindle Scribe or any format with Kindle Colorsoft.
    • Solutions: Use JPG with Kindle Scribe, try PDF output, or use a Kobo Colour device.

    Colors Inverted

    • Solution: Disable Kindle dark mode.

    Kindle Panel View Not Working

    • Solution: Enable 'Virtual panel view' in the Aa menu on your Kindle device (not in KCC).

    Right to Left (RTL) Mode

    • Note: RTL mode only affects the splitting order for CBZ output. The page turn direction is controlled by your specific CBZ reader settings.

    File Transfer Issues (macOS)

    • If you cannot connect a 2024+ or Scribe Kindle to macOS, use the official Amazon USB File Transfer app (MTP) instead of Android File Transfer.
  10. Supported Input and Output Formats

    master

    KCC supports a variety of input and output formats depending on your device and installed prerequisites.

    Supported Input Formats:

    • Folders containing PNG, JPG, GIF, or WebP files.
    • CBZ, ZIP (requires 7z).
    • CBR, RAR (requires 7z).
    • CB7, 7Z (requires 7z).
    • PDF (KCC extracts JPG images from the PDF).

    Recommended Output Formats by Device:

    • Kindle: MOBI (Note: KCC generates a dual-format file that is both MOBI and AZW3).
    • Kindle DX: CBZ.
    • Koreader: CBZ.
    • Kobo: KEPUB (Select a Kobo profile and EPUB output to get KEPUB).
    • ReMarkable: PDF.
    • Kindle Scribe / Kindle Scribe 2025: PDF.
  11. Reference: kcc-c2e CLI options

    master

    Full list of available options for the kcc-c2e command:

    MANDATORY:
      input                 Full path to comic folder or file(s) to be processed.
    
    MAIN:
      -p PROFILE, --profile PROFILE
                            Device profile (Available options: K1, K2, K34, K578, KDX, KPW, KPW5, KV, KO, K11, KS, KoMT, KoG, KoGHD, KoA, KoAHD, KoAH2O, KoAO, KoN, KoC, KoCC, KoL, KoLC, KoF, KoS, KoE)
                            [Default=KV]
      -m, --manga-style     Manga style (right-to-left reading and splitting)
      --lightnovel          Only resize images and preserve original file structure.
      --ebok                Force EBOK tag instead of PDOC for MOBI
      --invertdirection     Invert page turn direction
      -q, --hq              Try to increase the quality of magnification
      -2, --two-panel       Display two not four panels in Panel View mode
      --vertical4panel       Show side panels first in virtual panel view
      -w, --webtoon         Webtoon processing mode
      --ts TARGETSIZE, --targetsize TARGETSIZE
                            the maximal size of output file in MB. [Default=100MB for webtoon and 400MB for others]
    
    PROCESSING:
      -n, --noprocessing    Do not modify image and ignore any profile or processing option
      --legacyextract       Use legacy PDF/EPUB image extraction method from earlier KCC versions.
      --pdfwidth            Render vector PDFs based on device width instead of height.
      -u, --upscale         Resize images smaller than device's resolution
      -s, --stretch         Stretch images to device's resolution
      -r SPLITTER, --splitter SPLITTER
                            Double page parsing mode. 0: Split 1: Rotate 2: Both [Default=0]
      -g GAMMA, --gamma GAMMA
                            Apply gamma correction to linearize the image [Default=Auto]
      --autolevel           Set most common dark pixel value to be black point for leveling.
      --noautocontrast      Disable autocontrast
      --colorautocontrast   Force autocontrast for all pages. Skipped when near blacks and whites don't exist
      -c CROPPING, --cropping CROPPING
                            Set cropping mode. 0: Disabled 1: Margins 2: Margins + page numbers [Default=2]
      --cp CROPPINGP, --croppingpower CROPPINGP
                            Set cropping power [Default=1.0]
      --preservemargin      After calculating crop, "back up" a specified percentage amount [Default=0]
      --cm CROPPINGM, --croppingminimum CROPPING minimum area ratio [Default=0.0]
      --ipc INTERPANELCROP, --interpanelcrop INTERPANELCROP
                            Crop empty sections. 0: Disabled 1: Horizontally 2: Both [Default=0]
      --blackborders        Disable autodetection and force black borders
      --whiteborders        Disable autodetection and force white borders
      --smartcovercrop      Attempt to crop main cover from wide image
      --coverfill           Center-crop only the cover to fill target device screen
      --forcecolor          Don't convert images to grayscale
      --forcepng            Create PNG files instead JPEG for black and white images
      --webp                Replace JPG with lossy WEBP and PNG with lossless WEBP
      --force-png-rgb       Force color images to be saved as PNG
      --pnglegacy           Use a more compatible 8 bit PNG instead of 4 bit.
      --noquantize          Don't quantize PNG images to 16 colors
      --mozjpeg             Create JPEG files using mozJpeg
      --jpeg-quality        The JPEG quality, on a scale from 0 (worst) to 95 (best). Default 85 for most devices.
      --maximizestrips      Turn 1x4 strips to 2x2 strips
      -d, --delete          Delete source file(s) or a directory. It's not recoverable.
      --tempdir             Create temporary files directory on source file drive.
    
    OUTPUT SETTINGS:
      -o OUTPUT, --output OUTPUT
                            Output generated file to specified directory or file
      -t TITLE, --title TITLE
                            Comic title [Default=filename or directory name]
      --metadatatitle       Write title using ComicInfo.xml or other embedded metadata. 0: Don't use Title from metadata 1: Combine Title with default schema 2: Use Title only [Default=0]
      --keepcomicinfo       Keep any original ComicInfo.xml files [Default=0]
      -a AUTHOR, --author AUTHOR
                            Author name [Default=KCC]
      --language            EPUB language [Default=en-US]
      -f FORMAT, --format FORMAT
                            Output format (Available options: Auto, MOBI, EPUB, CBZ, PDF, KFX, MOBI+EPUB) [Default=Auto]
      --nokepub             If format is EPUB, output file with '.epub' extension rather than '.kepub.epub'
      -b BATCHSPLIT, --batchsplit BATCHSPLIT
                            Split output into multiple files. 0: Don't split 1: Automatic mode 2: Consider every subdirectory as separate volume [Default=0]
      --spreadshift         Shift first page to opposite side in landscape for two page spread alignment
      --onepagelandscape    Show a single centered page in landscape
      --norotate            Do not rotate double page spreads in spread splitter option.
      --rotateright         Rotate double page spreads in opposite direction.
      --rotatefirst         Put rotated spread first in spread splitter option.
      --filefusion          Combines all input files into a single file.
      --eraserainbow       Erase rainbow effect on color eink screen by attenuating interfering frequencies
    
    CUSTOM PROFILE:
      --customwidth CUSTOMWIDTH
                            Replace screen width provided by device profile
      --customheight CUSTOMHEIGHT
                            Replace screen height provided by device profile