mirror of
https://github.com/celogeek/go-comic-converter.git
synced 2025-05-25 08:12:36 +02:00
344 lines
9.6 KiB
Markdown
344 lines
9.6 KiB
Markdown
# go-comic-converter
|
||
|
||
Convert CBZ/CBR/Dir into Epub for e-reader devices (Kindle Devices, ...)
|
||
|
||
My goal is to make a simple, crossplatform, and fast tool to convert comics into epub.
|
||
|
||
Epub is now support by Amazon through [SendToKindle](https://www.amazon.com/gp/sendtokindle/), by Email or by using the App. So I've made it simple to support the size limit constraint of those services.
|
||
|
||
# Installation
|
||
|
||
First ensure to have a working version of GO: [Installation](https://go.dev/doc/install)
|
||
|
||
Then install the last version of the tool:
|
||
```
|
||
$ go install github.com/celogeek/go-comic-converter/v2
|
||
```
|
||
|
||
To force install a specific version:
|
||
```
|
||
$ go install github.com/celogeek/go-comic-converter/v2@V2TAG
|
||
```
|
||
|
||
Example:
|
||
```
|
||
$ go install github.com/celogeek/go-comic-converter/v2@v2.0.1
|
||
```
|
||
|
||
Add GOPATH to your PATH
|
||
```
|
||
$ export PATH=$(go env GOPATH)/bin:$PATH
|
||
```
|
||
|
||
# Check last version
|
||
|
||
You can check if a new version is available with:
|
||
```
|
||
$ go-comic-converter -version
|
||
go-comic-converter
|
||
Path : github.com/celogeek/go-comic-converter/v2
|
||
Sum : ...
|
||
Version : v2.0.2
|
||
Available Version: v2.0.2
|
||
|
||
To install the latest version:
|
||
$ go install github.com/celogeek/go-comic-converter/v2@v2.0.2
|
||
```
|
||
|
||
# Supported image files
|
||
|
||
The supported image files are jpeg and png from the sources.
|
||
|
||
The extensions can be: `jpg`, `jpeg`, `png`.
|
||
|
||
The case for extensions doesn't matter.
|
||
|
||
# Usage
|
||
|
||
## Convert directory
|
||
|
||
Convert every supported image files found in the input directory:
|
||
|
||
```
|
||
$ go-comic-converter -profile KS -input ~/Download/MyComic
|
||
```
|
||
|
||
By default it will output: ~/Download/MyComic.epub
|
||
|
||
## Convert CBZ, ZIP, CBR, RAR, PDF
|
||
|
||
Convert every supported image files found in the input directory:
|
||
|
||
```
|
||
$ go-comic-converter -profile KS -input ~/Download/MyComic.[CBZ,ZIP,CBR,RAR,PDF]
|
||
```
|
||
|
||
By default it will output: ~/Download/MyComic.epub
|
||
|
||
## Convert with size limit
|
||
|
||
If you send your ePub through Amazon service, you have some size limitation:
|
||
- Email : 50Mb (including encoding, so 40Mb for RAW file)
|
||
- App : 50Mb
|
||
- Website: 200Mb
|
||
|
||
You can split your file using the "-limitmb MB" option:
|
||
|
||
```
|
||
go-comic-converter -profile KS -input ~/Download/MyComic.[CBZ,ZIP,CBR,RAR,PDF] -limitmb 200
|
||
```
|
||
|
||
If you have more than 1 file the output will be:
|
||
- ~/Download/MyComic PART_01.epub
|
||
- ~/Download/MyComic PART_02.epub
|
||
- ...
|
||
|
||
The ePub include as a first page:
|
||
- Title
|
||
- Part NUM / TOTAL
|
||
|
||
If the total is above 1, then the title of the epub include:
|
||
- Title [part/total]
|
||
|
||
## Dry run
|
||
|
||
If you want to preview what will be set during the convertion without running the conversion, then you can use the `-dry` option.
|
||
|
||
```
|
||
$ go-comic-converter -input ~/Downloads/mymanga.cbr -profile KS -auto -manga -limitmb 200 -dry
|
||
Go Comic Converter
|
||
|
||
Options:
|
||
Input : ~/Downloads/mymanga.cbr
|
||
Output : ~/Downloads/mymanga.epub
|
||
Author : GO Comic Converter
|
||
Title : mymanga
|
||
Workers : 8
|
||
Profile : KS - Kindle Scribe - 1860x2480 - 16 levels of gray
|
||
Quality : 85
|
||
Crop : true
|
||
Brightness : 0
|
||
Contrast : 0
|
||
AutoRotate : true
|
||
AutoSplitDoublePage: true
|
||
NoBlankPage : false
|
||
Manga : true
|
||
HasCover : true
|
||
AddPanelView : false
|
||
LimitMb : 200 Mb
|
||
```
|
||
|
||
## Change default settings
|
||
|
||
### Show current default option
|
||
```
|
||
$ go-comic-converter -show
|
||
|
||
Go Comic Converter
|
||
|
||
Options:
|
||
Profile :
|
||
Quality : 85
|
||
Crop : true
|
||
Brightness : 0
|
||
Contrast : 0
|
||
AutoRotate : false
|
||
AutoSplitDoublePage: false
|
||
NoBlankPage : false
|
||
Manga : false
|
||
HasCover : true
|
||
AddPanelView : false
|
||
LimitMb : nolimit
|
||
```
|
||
|
||
### Change default settings
|
||
```
|
||
$ go-comic-converter -manga -auto -profile KS -limitmb 200 -save
|
||
|
||
Go Comic Converter
|
||
|
||
Options:
|
||
Profile : KS - Kindle Scribe - 1860x2480 - 16 levels of gray
|
||
Quality : 85
|
||
Crop : true
|
||
Brightness : 0
|
||
Contrast : 0
|
||
AutoRotate : true
|
||
AutoSplitDoublePage: true
|
||
NoBlankPage : false
|
||
Manga : true
|
||
HasCover : true
|
||
AddPanelView : false
|
||
LimitMb : 200 Mb
|
||
|
||
Saving to ~/.go-comic-converter.yaml
|
||
```
|
||
|
||
If you want to change a setting, you can change only one of them
|
||
```
|
||
$ go-comic-converter -manga=0 -save
|
||
|
||
Go Comic Converter
|
||
|
||
Options:
|
||
Profile : KS - Kindle Scribe - 1860x2480 - 16 levels of gray
|
||
Quality : 85
|
||
Crop : true
|
||
Brightness : 0
|
||
Contrast : 0
|
||
AutoRotate : true
|
||
AutoSplitDoublePage: true
|
||
NoBlankPage : false
|
||
Manga : false
|
||
HasCover : true
|
||
AddPanelView : false
|
||
LimitMb : 200 Mb
|
||
|
||
Saving to ~/.go-comic-converter.yaml
|
||
```
|
||
|
||
### Check
|
||
You can test the command dry above like
|
||
```
|
||
$ go-comic-converter -input ~/Downloads/mymanga.cbr -dry
|
||
Go Comic Converter
|
||
|
||
Options:
|
||
Input : ~/Downloads/mymanga.cbr
|
||
Output : ~/Downloads/mymanga.epub
|
||
Author : GO Comic Converter
|
||
Title : mymanga
|
||
Workers : 8
|
||
Profile : KS - Kindle Scribe - 1860x2480 - 16 levels of gray
|
||
Quality : 85
|
||
Crop : true
|
||
Brightness : 0
|
||
Contrast : 0
|
||
AutoRotate : true
|
||
AutoSplitDoublePage: true
|
||
NoBlankPage : false
|
||
Manga : true
|
||
HasCover : true
|
||
AddPanelView : false
|
||
LimitMb : 200 Mb
|
||
```
|
||
|
||
### Reset default
|
||
To reset all value to default:
|
||
|
||
```
|
||
$ go-comic-converter -reset
|
||
Go Comic Converter
|
||
|
||
Options:
|
||
Profile :
|
||
Quality : 85
|
||
Crop : true
|
||
Brightness : 0
|
||
Contrast : 0
|
||
AutoRotate : false
|
||
AutoSplitDoublePage: false
|
||
NoBlankPage : false
|
||
Manga : false
|
||
HasCover : true
|
||
AddPanelView : false
|
||
LimitMb : nolimit
|
||
|
||
Reset default to ~/.go-comic-converter.yaml
|
||
```
|
||
|
||
# Help
|
||
|
||
```
|
||
$ go-comic-converter -h
|
||
|
||
Usage of go-comic-converter:
|
||
|
||
Output:
|
||
-input string
|
||
Source of comic to convert: directory, cbz, zip, cbr, rar, pdf
|
||
-output string
|
||
Output of the epub (directory or epub): (default [INPUT].epub)
|
||
-author string (default "GO Comic Converter")
|
||
Author of the epub
|
||
-title string
|
||
Title of the epub
|
||
-workers int (default CPU)
|
||
Number of workers
|
||
-dry
|
||
Dry run to show all options
|
||
|
||
Config:
|
||
-profile string
|
||
Profile to use:
|
||
- K1 ( 600x670 ) - 4 levels of gray - Kindle 1
|
||
- K11 ( 1072x1448 ) - 16 levels of gray - Kindle 11
|
||
- K2 ( 600x670 ) - 15 levels of gray - Kindle 2
|
||
- K34 ( 600x800 ) - 16 levels of gray - Kindle Keyboard/Touch
|
||
- K578 ( 600x800 ) - 16 levels of gray - Kindle
|
||
- KDX ( 824x1000 ) - 16 levels of gray - Kindle DX/DXG
|
||
- KPW ( 758x1024 ) - 16 levels of gray - Kindle Paperwhite 1/2
|
||
- KV ( 1072x1448 ) - 16 levels of gray - Kindle Paperwhite 3/4/Voyage/Oasis
|
||
- KPW5 ( 1236x1648 ) - 16 levels of gray - Kindle Paperwhite 5/Signature Edition
|
||
- KO ( 1264x1680 ) - 16 levels of gray - Kindle Oasis 2/3
|
||
- KS ( 1860x2480 ) - 16 levels of gray - Kindle Scribe
|
||
- KoMT ( 600x800 ) - 16 levels of gray - Kobo Mini/Touch
|
||
- KoG ( 768x1024 ) - 16 levels of gray - Kobo Glo
|
||
- KoGHD ( 1072x1448 ) - 16 levels of gray - Kobo Glo HD
|
||
- KoA ( 758x1024 ) - 16 levels of gray - Kobo Aura
|
||
- KoAHD ( 1080x1440 ) - 16 levels of gray - Kobo Aura HD
|
||
- KoAH2O ( 1080x1430 ) - 16 levels of gray - Kobo Aura H2O
|
||
- KoAO ( 1404x1872 ) - 16 levels of gray - Kobo Aura ONE
|
||
- KoN ( 758x1024 ) - 16 levels of gray - Kobo Nia
|
||
- KoC ( 1072x1448 ) - 16 levels of gray - Kobo Clara HD/Kobo Clara 2E
|
||
- KoL ( 1264x1680 ) - 16 levels of gray - Kobo Libra H2O/Kobo Libra 2
|
||
- KoF ( 1440x1920 ) - 16 levels of gray - Kobo Forma
|
||
- KoS ( 1440x1920 ) - 16 levels of gray - Kobo Sage
|
||
- KoE ( 1404x1872 ) - 16 levels of gray - Kobo Elipsa
|
||
-quality int (default 85)
|
||
Quality of the image
|
||
-crop (default true)
|
||
Crop images
|
||
-brightness int
|
||
Brightness readjustement: between -100 and 100, > 0 lighter, < 0 darker
|
||
-contrast int
|
||
Contrast readjustement: between -100 and 100, > 0 more contrast, < 0 less contrast
|
||
-autorotate
|
||
Auto Rotate page when width > height
|
||
-auto
|
||
Activate all automatic options
|
||
-autosplitdoublepage
|
||
Auto Split double page when width > height
|
||
-noblankpage
|
||
Remove blank pages
|
||
-manga
|
||
Manga mode (right to left)
|
||
-hascover (default true)
|
||
Has cover. Indicate if your comic have a cover. The first page will be used as a cover and include after the title.
|
||
-addpanelview
|
||
Add an embeded panel view. On kindle you may not need this option as it is handled by the kindle.
|
||
-limitmb int
|
||
Limit size of the ePub: Default nolimit (0), Minimum 20
|
||
|
||
Default config:
|
||
-show
|
||
Show your default parameters
|
||
-save
|
||
Save your parameters as default
|
||
-reset
|
||
Reset your parameters to default
|
||
|
||
Other:
|
||
-version
|
||
Show current and available version
|
||
-help
|
||
Show this help message
|
||
```
|
||
|
||
# Credit
|
||
|
||
This project is largely inspired from KCC (Kindle Comic Converter). Thanks:
|
||
- [ciromattia](https://github.com/ciromattia/kcc)
|
||
- [darodi fork](https://github.com/darodi/kcc)
|
||
|