Metadata-Version: 2.4
Name: simple-hwp2pdf
Version: 1.0.6
Summary: MS Word를 이용해 HWP 파일을 PDF로 변환하는 라이브러리
Author-email: osr0912 <osr0912@gmail.com>
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: pywin32
Provides-Extra: office
Requires-Dist: pywin32; extra == "office"

# simple-hwp2pdf

[![PyPI version](https://badge.fury.io/py/simple-hwp2pdf.svg)](https://badge.fury.io/py/simple-hwp2pdf)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

한컴오피스 설치 유무에 따라 HWP(.hwp, .hwpx) 파일을 PDF로 변환하는 파이썬 라이브러리입니다.

## ✨ 주요 특징

-   **듀얼 엔진 지원**: 한컴오피스를 이용하는 **Office 엔진**과, 설치가 필요 없는 **Standalone 엔진**을 모두 지원합니다.
-   **자동 모드**: 파일 확장자에 따라 최적의 엔진을 자동으로 선택합니다.
-   **선택적 설치**: 필요한 기능에 따라 라이브러리를 설치할 수 있습니다.

## ⚙️ 엔진 별 특징

| 엔진 종류 | 필요 조건 | 장점 | 단점 |
| :--- | :--- | :--- | :--- |
| **Standalone** | (없음) | 한컴오피스 불필요, 모든 OS 지원 | `.hwpx`만 완벽 지원, 레이아웃 깨질 수 있음 |
| **Office** | Windows + 한컴오피스 | 완벽한 레이아웃 보장, `.hwp` 지원 | Windows 환경 및 한컴오피스 설치 필수 |

## 📦 설치

**기본 설치 (Standalone 엔진만 사용)**
```shell
pip install simple-hwp2pdf
```
## 전체 설치(Office 엔진 포함)
* Office 엔진을 사용하려면 [office]옵션을 추가하여 설치하세요
```shell
pip install simple-hwp2pdf[office]
```
## 🚀 사용법
* 메인 convert 함수를 사용하여 변환을 수행할 수 있습니다. method 파라미터를 통해 사용할 엔진을 지정할 수 있습니다.
    * method='auto' (기본값): .hwpx는 Standalone, .hwp는 Office 엔진을 시도합니다.
    * method='standalone': 한컴오피스 없이 변환합니다.
    * method='office': 한컴오피스를 이용해 변환합니다.
```python
from simple_hwp2pdf import convert
# 1. Auto 모드 사용 (가장 간편한 방법)
# sample.hwpx -> standalone 엔진 사용
# report.hwp -> office 엔진 사용
convert("sample.hwpx", "sample_auto.pdf", method='auto')
convert("report.hwp", "report_auto.pdf") # method 기본값이 'auto'

# 2. Standalone 엔진 사용
# 한컴오피스 없이 변환 (hwpx 파일 권장)
convert("another.hwpx", "another_standalone.pdf", method='standalone')

# 3. Office 엔진 사용
# Windows + 한컴오피스 환경에서 완벽한 변환이 필요할 때
convert("final.hwp", "final_office.pdf", method='office')
```
