#!/usr/bin/env python3
"""
PDF 圖片轉 EPUB（壓縮版，<50MB）
"""
import fitz
from ebooklib import epub
import os

PDF_PATH = os.path.expanduser("~/.openclaw/media/inbound/行動中的組織---784ef0bf-9749-4e08-a1ab-4d99b2a8725a.pdf")
OUTPUT_PATH = os.path.expanduser("~/Desktop/行動中的組織.epub")

doc = fitz.open(PDF_PATH)
total_pages = len(doc)
print(f"📊 {total_pages} 頁，開始轉換（壓縮版）...")

book = epub.EpubBook()
book.set_identifier("thompson-oia-zh-2026")
book.set_title("行動中的組織")
book.set_language("zh")
book.add_author("James D. Thompson")

style = epub.EpubItem(uid="s", file_name="style/default.css", media_type="text/css",
    content="body{margin:0;padding:0;text-align:center}img{max-width:100%;height:auto}")

for page_num in range(total_pages):
    page = doc[page_num]
    pix = page.get_pixmap(dpi=120)  # 降低 DPI 壓縮
    img_data = pix.tobytes("jpeg")  # 用 JPEG 更小
    
    img_filename = f'img/p{page_num+1:03d}.jpg'
    img_item = epub.EpubItem(uid=f'i{page_num+1}', file_name=img_filename, 
                              media_type='image/jpeg', content=img_data)
    book.add_item(img_item)
    
    ch = epub.EpubHtml(title=f'P{page_num+1}', file_name=f'p{page_num+1:04d}.xhtml', lang='zh')
    ch.content = f'<html><body><img src="{img_filename}"/></body></html>'
    ch.add_item(style)
    book.add_item(ch)

book.toc = [epub.Link(f'p{i+1:04d}.xhtml', f'第{i+1}頁', f'p{i+1}') for i in range(total_pages)]
book.add_item(epub.EpubNcx())
book.add_item(epub.EpubNav())

epub.write_epub(OUTPUT_PATH, book)
doc.close()

size_mb = os.path.getsize(OUTPUT_PATH) / (1024*1024)
print(f"✅ 完成：{size_mb:.1f} MB")
