Привіт! Сьогоднішній пост призначений для любителів книг та щасливих власників електронних читалок на кшталт 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