PDFからEPUBに変換するには、Pythonで提供されているPyPDF2ライブラリを使用することができます。PyPDF2ライブラリを使用すると、PDFファイルの各ページを取得し、テキストを抽出し、それをEPUBファイルに書き込むことができます。

PyPDF2ライブラリをインストールする方法

PyPDF2ライブラリは、pipを使用して簡単にインストールできます。以下のコマンドを使用して、PyPDF2ライブラリをインストールできます。

pip install PyPDF2

PDFからテキストを抽出する方法

PDFファイルからテキストを抽出するには、PyPDF2ライブラリのPdfFileReaderクラスを使用します。以下のコードを使用して、PDFファイルの1ページ目からテキストを抽出できます。

import PyPDF2

pdf_file = open('example.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
page_1 = pdf_reader.getPage(0)
text = page_1.extractText()
print(text)

EPUBファイルを生成する方法

EPUBファイルを生成するには、Pythonで提供されているebooklibライブラリを使用することができます。以下のコードを使用して、EPUBファイルを生成できます。

from ebooklib import epub

book = epub.EpubBook()

book.set_identifier('id123456')
book.set_title('Example Book Title')
book.set_language('en')

chapter1 = epub.EpubHtml(title='Chapter 1', file_name='chap_01.xhtml', lang='en')
chapter1.content=u'<h1>Chapter 1</h1><p>Text of chapter 1.</p>'

book.add_item(chapter1)
book.toc = (epub.Link('chap_01.xhtml', 'Chapter 1', 'intro'), )
book.add_item(epub.EpubNcx())
book.add_item(epub.EpubNav())

book.spine = ['nav', chapter1]

epub.write_epub('example.epub', book, {})

PDFからEPUBに変換する方法

PDFからEPUBに変換するには、上記のコードを組み合わせることができます。以下のコードを使用して、PDFファイルからEPUBファイルを生成できます。

import PyPDF2
from ebooklib import epub

pdf_file = open('example.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)

book = epub.EpubBook()
book.set_title('Example Book Title')
book.set_language('en')

for page_num in range(pdf_reader.numPages):
    page = pdf_reader.getPage(page_num)
    text = page.extractText()
    chapter = epub.EpubHtml(title=f'Chapter {page_num+1}', file_name=f'chapter_{page_num+1}.xhtml', lang='en')
    chapter.content = f'<h1>Chapter
{page_num+1}</h1><p>{text}</p>'
    book.add_item(chapter)

    if page_num == 0:
        book.toc = (epub.Link(f'chapter_{page_num+1}.xhtml', f'Chapter {page_num+1}', 'intro'),)
    else:
        book.toc += (epub.Link(f'chapter_{page_num+1}.xhtml', f'Chapter {page_num+1}', ''),)

    book.spine.append(chapter)

book.add_item(epub.EpubNcx())
book.add_item(epub.EpubNav())

epub.write_epub('example.epub', book, {})

上記のコードを実行すると、PDFファイルからEPUBファイルが生成されます。生成されたEPUBファイルは、ebookリーダーで開くことができます。