Skip to main content

Convert manga/comic files(zip, epub, etc.) or directory containing image files (jpg, png, etc.) to PDF.

Project description

manga2pdf

License: MIT PyPI - Python Version GitHub Release PyPi Version Downloads

Overview

This Python script is specifically designed to convert manga and comic files, including various formats such as zip, epub, and directories containing image files, to PDF format.

The resulting PDF files are optimized to resemble Japanese manga in terms of page layout and direction. By default, the script uses a "TwoPageRight" page layout that displays two pages side-by-side for a spread view, and a "R2L" (right-to-left) reading direction that is commonly used in Japanese manga.

Requirement

The script uses the Python libraries img2pdf and pikepdf to do the conversion. Moreover, it uses lxml to read the EPUB files and rarfile to read the RAR archive files.

It requires the installation of these packages in order to work properly.

Note

  • This script can only handle DRM-free fixed-layout EPUB files.
  • Please ensure that the image files you input are named in numerical order according to their page sequence. For example, page_01.jpg, page_02.jpg, page_03.jpg, and so on, or 001.jpg, 002.jpg, 003.jpg, and so on. This will ensure that the pages are converted and compiled in the correct order.

Usage

This script can take input in the form of zip, cbz, rar, cbr, epub files or directories containing images (jpg, jpeg, png, gif, bmp) of manga or comic pages.

The program can be executed from the command line with the following options:

  • The input_path argument represents the path to the input file. To execute the Python script correctly, specify the input_path argument as the path to the input file containing manga or comic images in any of the supported formats, such as zip, cbz, rar, cbr, epub, or a directory containing images in formats such as jpg, jpeg, png, gif, or bmp.
  • The output_path argument is the path to the output PDF file. To use the script, simply run the Python script with the path to the input file or directory as the argument. If the --output option is not specified, the output file name will be automatically generated based on the name of the input file or directory.
  • The pagelayout parameter can take in the following values:
    • SinglePage -> Single page display
    • OneColumn -> Enable scrolling
    • TwoPageLeft -> Spread view
    • TwoColumnLeft -> Spread view with scrolling
    • (default) TwoPageRight -> Separate Cover, Spread View
    • TwoColumnRight -> Separate Cover, Scrolling Spread View
  • The pagemode parameter can take in the following values:
    • (default) UseNone -> Neither document outline nor thumbnail images visible
    • UseOutlines -> Document outline visible
    • UseThumbs -> Thumbnail images visible
    • FullScreen -> Full-screen mode
    • UseOC -> Optional content group panel visible
    • UseAttachments -> Attachments panel visible
  • The direction parameter can take in the following values:
    • L2R -> Left Binding
    • (default) R2L -> Right Binding

By default, the page layout is set to TwoPageRight and the reading direction to R2L, which are suitable for Japanese manga.

The -j or --jpeg option converts images to JPEG format before including them in the output PDF file, resulting in a smaller file size. Similarly, the -g or --grayscale option can be used to convert images to grayscale and reduce the size of the resulting PDF file. The program outputs the converted image in the specified format and compresses the PDF file accordingly.

Note

  • When the original image is already in the JPEG format, using the -j or --jpeg option will have no effect. Similarly, if the original image is already grayscale, using the -g or --grayscale option will have no effect. Also, if none of these options are used, the resulting PDF file will not be compressed.

There is a possibility that the script may not be able to handle files in unexpected formats correctly, which may result in errors or unexpected output.

Installation

Installing from PyPI

To install the latest version of the package from PyPI, run the following command:

$ pip install manga2pdf

Installing directly from the Git repository

To install the package directly from the Git repository, run the following command:

$ pip install git+https://github.com/mashu3/manga2pdf.git

Installing by cloning the Git repository

To install the package by cloning the Git repository, follow these steps:

$ git clone https://github.com/mashu3/manga2pdf.git
$ cd manga2pdf/
$ pip install .

Note

  • It is recommended to install the package from PyPI, but if you want to try out the latest changes, you can install it from the Git repository.

Examples

  • To convert my_manga.zip to my_manga.pdf using the default settings:
$ manga2pdf my_manga.zip
  • To convert my_manga.epub to my_manga_spread.pdf with a spread view and right binding:
$ manga2pdf my_manga.epub -o my_manga_spread.pdf
  • To convert my_comic.epub to my_comic.pdf with a TwoPage view and left binding:
$ manga2pdf my_comic.epub -o my_comic.pdf -p TwoPageLeft -d L2R

GUI

To launch the graphical user interface:

$ manga2pdf -gui

The interface supports English and Japanese, and all settings that can be specified via the command line are available. The GUI is currently under development and additional features are planned for future updates.

Author

mashu3

Authors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

manga2pdf-0.2.2.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

manga2pdf-0.2.2-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file manga2pdf-0.2.2.tar.gz.

File metadata

  • Download URL: manga2pdf-0.2.2.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for manga2pdf-0.2.2.tar.gz
Algorithm Hash digest
SHA256 6cea349854b81a911c75ec651f858d167fc3259f266dc604d28c5de583eb4188
MD5 c54a65f680847d1fc6ffca0de09ca5a3
BLAKE2b-256 002d4181e567cbf5c98349c9b516b944f0eaf26bec2a290a917e5b57baa2ba7c

See more details on using hashes here.

File details

Details for the file manga2pdf-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: manga2pdf-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for manga2pdf-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cf407f545e3488b6a27b525534f71fbfd56d028c772dc45ddf4ba9076c30b058
MD5 3f624ec878df38f34b1995e75d4c0ecd
BLAKE2b-256 1a1cc83405828066620caa9134682e3e4768cc3c067079af87c98b8d2883fd85

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page