이북 캡처 프로그램 | ebook을 pdf로 변환하는 python code

2024. 1. 11. 18:12Memo/code

 

전자책 캡처의 효율성: 책 구매 방식의 혁신적 변화

 

책을 구매하고 읽는 방식은 시간이 지남에 따라 변화하고 발전해 왔습니다. 최근에는 많은 사람들이 물리적 책을 스캔하는 방식에서 전자책(eBook)을 캡처하는 방식으로 전환하고 있습니다. 이러한 변화는 효율성과 편의성 측면에서 상당한 이점을 제공합니다.

 

첫째, 전자책 캡처는 시간과 노력을 크게 절약합니다. 물리적 책을 스캔하는 것은 각 페이지를 하나하나 스캔해야 하므로 시간이 오래 걸립니다. 반면, 전자책 캡처는 몇 번의 클릭만으로 전체 책을 빠르고 쉽게 얻을 수 있습니다. 이는 특히 정보를 신속하게 찾아야 하는 연구자나 학생들에게 유용합니다.

 

둘째, 전자책은 저장 공간을 절약하고 휴대성을 증가시킵니다. 수백 권의 물리적 책을 보관하려면 상당한 공간이 필요하지만, 전자책은 하나의 디지털 장치에 모두 저장할 수 있어 공간을 효율적으로 활용할 수 있습니다. 또한, 여행이나 외출 시에도 여러 권의 책을 간편하게 휴대할 수 있어 언제 어디서나 독서를 즐길 수 있습니다.

 

셋째, 전자책 캡처는 접근성을 높입니다. 전 세계의 다양한 출판물에 쉽게 접근할 수 있어, 지역 서점이나 도서관에서 찾을 수 없는 책도 쉽게 구할 수 있습니다. 이는 지식과 정보에 대한 폭넓은 접근을 가능하게 하여, 학습과 연구의 범위를 넓힙니다.

 

넷째, 전자책은 환경에 미치는 영향을 줄입니다. 종이 책의 인쇄와 배송은 자원을 소모하고 환경에 부담을 주지만, 전자책은 이러한 문제를 해결해줍니다. 따라서, 전자책 캡처는 지속 가능한 독서 방식을 제공합니다.

 

이처럼 전자책 캡처는 시간과 공간, 접근성 및 환경적 측면에서 물리적 책 스캔 방식보다 우수한 대안을 제공합니다. 디지털 시대에 발맞춰 독서 방식을 개선하고자 하는 독자들에게 전자책 캡처는 매력적인 선택이 될 것입니다.

 

 

import pyautogui
import time
from PIL import Image
from datetime import datetime


def process_img(img, scale=3):
    resized = img.resize(
        (int(img.width * scale), int(img.height * scale)), Image.Resampling.LANCZOS
    )
    return resized


def compare_imgs(img1, img2):
    return img1.tobytes() == img2.tobytes()


def capture_to_pdf(delay=0.5):
    print("준비 중...")
    for i in range(5, 0, -1):
        print(i)
        time.sleep(1)

    screen_w, screen_h = pyautogui.size()
    region = (0, 0, screen_w // 2, screen_h)
    last = None
    imgs = []

    while True:
        time.sleep(delay)
        shot = pyautogui.screenshot(region=region)
        proc_shot = process_img(shot)

        pyautogui.press("right")

        if last is not None and compare_imgs(last, proc_shot):
            break

        imgs.append(proc_shot)
        last = proc_shot

    if imgs:
        current_time = datetime.now().strftime("%y%m%d%H%M")
        file_name = f"{current_time}.pdf"
        imgs[0].save(file_name, save_all=True, append_images=imgs[1:], dpi=(400, 400))
        print(f"'{file_name}' 저장")


capture_to_pdf()

 

 

 

프로그램 사용법

  1. 준비 단계: 프로그램을 시작하면, 5초의 카운트다운이 시작됩니다. 이 시간 동안 사용자는 캡처하고자 하는 화면을 준비할 수 있습니다.
  2. 화면 설정: 이 프로그램은 화면의 왼쪽 절반을 자동으로 캡처 영역으로 설정합니다. 이는 일반적인 문서 뷰어에서 책이나 문서를 열었을 때 표시되는 영역을 대상으로 하기 때문입니다.
  3. 캡처 및 페이지 넘김: 프로그램은 설정된 딜레이(기본값 0.5초) 후에 화면을 캡처하고 자동으로 '오른쪽' 키를 눌러 페이지를 넘깁니다. 
  4. 중복 이미지 감지: 프로그램은 연속된 두 이미지가 동일한지를 비교하여, 동일한 이미지가 감지되면 자동으로 캡처를 중단합니다. 이는 불필요한 중복 캡처를 방지합니다.
  5. PDF 저장: 캡처된 이미지들은 PDF 형식으로 저장되며, 파일명은 현재 시간으로 자동 생성됩니다. 이는 문서 관리와 검색을 용이하게 합니다.

 

고유한 기능과 그 중요성

  1. 이미지 랜더링 방식 (Image Resampling):
    • 이 프로그램은 Image.Resampling.LANCZOS 필터를 사용하여 이미지를 랜더링합니다. 이는 고해상도 이미지 처리에 적합한 기술로, 선명도를 유지하면서 이미지를 부드럽게 확대합니다.
    • 중요성: 고품질의 이미지 캡처를 보장하며, 텍스트와 이미지가 선명하게 유지되어 디지털 문서로서의 가독성과 활용성을 높입니다.
  2. 이미지 확대 (Scaling) 방식:
    • 기본적으로 이미지의 크기를 원본의 3배로 확대합니다. 이는 디테일을 캡처하고, 작은 텍스트나 세부 사항도 명확하게 보이게 합니다.
    • 중요성: 스캔한 문서의 세부 정보를 놓치지 않도록 하여, 전자책이나 PDF 문서의 품질을 보장합니다.
  3. 딜레이 설정 방법 (Delay Configuration):
    • 사용자는 페이지 캡처 사이의 딜레이를 조절할 수 있으며, 기본값은 0.5초입니다. 이는 페이지 로딩 시간과 사용자의 필요에 따라 조정될 수 있습니다.
    • 중요성: 사용자가 편안한 속도로 책을 넘기며 캡처할 수 있도록 하여, 자동화 과정에서의 유연성과 편의성을 제공합니다.
  4. 화면의 절반만 사용하는 이유:
    • 대부분의 전자책 뷰어와 문서는 화면의 왼쪽 절반에 내용을 표시합니다. 이 프로그램은 화면의 왼쪽 절반을 자동으로 타겟팅하여 불필요한 정보의 캡처를 방지합니다.
    • 중요성: 효율적인 캡처를 위해 필요한 정보만을 선택적으로 취득함으로써, 작업의 정확성을 높이고 시간을 절약합니다.
  5. DPI 설정 (Dots Per Inch):
    • 저장되는 PDF는 400 DPI로 설정되어 있습니다. 이는 인쇄 품질에 적합한 해상도로, 선명한 이미지와 텍스트를 제공합니다.
    • 중요성: 고해상도의 출력물이 필요한 사용자에게 적합하며, 디지털 아카이빙에도 유용합니다.

 

구매한 책의 PDF 변환: 편의성과 저작권의 중요성

 

현재 한국의 전자책(eBook) 프로그램들은 다양한 이유로 사용자들에게 불편함을 주고 있습니다. 이러한 상황에서 많은 독자들이 구매한 책을 PDF 형식으로 변환하는 방법을 선호하고 있습니다. 이 글에서는 이러한 변환의 이유와 함께 변환 과정에서 저작권을 존중하는 것의 중요성에 대해 논의합니다.

 

먼저, 한국에서 사용되는 많은 전자책 프로그램들은 사용자 인터페이스(UI)가 직관적이지 않고, 다양한 기기에서의 호환성 문제를 가지고 있습니다. 이로 인해 독자들은 원활한 독서 경험을 얻기 어렵습니다. 이에 비해, PDF 형식은 대부분의 디지털 장치에서 호환되며, 사용하기 쉬운 인터페이스를 제공합니다. PDF 변환을 통해 독자들은 자신이 선호하는 방식으로 콘텐츠를 읽고 관리할 수 있습니다.

 

하지만, 책을 PDF로 변환하는 과정에서는 저작권 문제에 주의해야 합니다. 모든 책과 출판물은 저작권법의 보호를 받으며, 무단 복제나 배포는 저작권 침해에 해당됩니다. 따라서, 자신이 구매하거나 정당하게 소유한 책만을 PDF로 변환하는 것이 중요합니다. 또한, 개인적 사용 목적으로만 변환하고, 이를 공유하거나 배포하지 않는 것이 법적 문제를 피하는 가장 안전한 방법입니다.

 

PDF 변환은 편의성과 개인화된 독서 경험을 제공하지만, 저작권을 존중하는 것이 중요합니다. 독자들은 법적 지침을 준수하며 책의 디지털 변환을 적절하게 활용할 필요가 있습니다. 이러한 접근은 콘텐츠 제작자의 권리를 보호하고 지식 공유의 건전한 환경을 유지하는 데 기여합니다.