Конвертація формату книг та документів за допомогою утиліти ebook-convert

in Team Ukraine5 months ago (edited)

Привіт! Сьогоднішній пост призначений для любителів книг та щасливих власників електронних читалок на кшталт Amazon Kindle.

У мене самого є Kindle, і часом буває що на очі попалась якась цікава книга, але в форматі pdf, а Kindle хоча й вміє відкривати такий формат, все ж більше любить epub . Саме в цьому форматі потрібно відправляти на свою пошту в акаунті амазона книгу, щоб вона зʼявилась в читалці Kindle (звісно, можна й через шнурок юсб, але то надто легко, а іноді хочеться прислати книгу другу і т.п.)

В такому випадку дуже зручно використовувати менеджер електронних книг Calibre ( https://calibre-ebook.com/download ) який працює на будь-якій операційній системі. Крім того, що в ньому можна читати книги різноманітних форматів, він цікавий тим, що після встановлення можна конвертувати один формат книг в інший однією командою в терміналі:

ebook-convert input_file output_file

Докладніше про це на цій сторінці: https://manual.calibre-ebook.com/generated/en/ebook-convert.html

Для себе ж я написав такий ось простий скриптик на Python (convert_book.py):

import subprocess import os def convert_file(input_file, output_format="epub"): try: #Detect input format based on file extension input_format = os.path.splitext(input_file)[1][1:] # Extract file extension without dot if not input_format: print("Could not detect input format. Please provide a valid file.") return #Construct output file name output_file = os.path.splitext(input_file)[0] + f".{output_format}" #Call Calibre's ebook-convert command subprocess.run(["ebook-convert", input_file, output_file], check=True) print(f"Conversion successful! {output_format.upper()} saved at: {output_file}") except subprocess.CalledProcessError as e: print(f"Error during conversion: {e}") except FileNotFoundError: print("Calibre's ebook-convert tool is not installed or not in PATH.") #Example usage input_file = input("Enter the name of the file (including extension): ") # Get full file name from user output_format = input("Enter the desired output format (default: epub): ") or "epub" convert_file(input_file, output_format) Використання: Просто скопіюйте книгу, яку треба конвертувати в папку зі скриптом і потім запустити сам скрипт (звісно, до цього моменту вже має бути встановлений Calibre та Python :) ) . Потім введіть назву книгу з її форматом, та формат в який треба зконвертувати і тицніть Enter. Наприклад: python3 convert_book.py Enter the name of the file (including extension): Tai_Chi_Qigong.pdf Enter the desired output format (default: epub): fb2

Sort:  
 5 months ago  

Долучаємось до Downvote Trail Team Ukraine та приймаємо участь у цікавому конкурсі

Downvote? Це вже цікаво... :) та й конкурс не завадить