| from pyhwp.html_converter import HwpToHtmlConverter |
| from hwp5.hwp5html import HTMLTransform |
| from hwp5.xmlmodel import Hwp5File |
| from contextlib import closing |
| import os |
| import sys |
|
|
| def main(): |
| hwp_file = 'test.hwp' |
| output_path = 'test.html' |
| |
| print("Step 1: Init HTMLTransform", flush=True) |
| transformer = HTMLTransform() |
| output_dir = os.path.dirname(os.path.abspath(output_path)) |
| |
| print(f"Step 2: Opening {hwp_file}", flush=True) |
| with closing(Hwp5File(hwp_file)) as hwp5file: |
| print("Step 3: Creating temp XHWP5", flush=True) |
| with transformer.transformed_xhwp5_at_temp(hwp5file) as xhwp5path: |
| print(f"Step 4: Temp XHWP5 at {xhwp5path}", flush=True) |
| |
| print("Step 5: Generating HTML...", flush=True) |
| with open(output_path, 'wb') as f: |
| transformer.transform_xhwp5_to_xhtml(xhwp5path, f) |
| print("Step 5: HTML Done", flush=True) |
| |
| print("Step 6: Generating CSS...", flush=True) |
| css_path = os.path.join(output_dir, 'styles.css') |
| with open(css_path, 'wb') as f: |
| transformer.transform_xhwp5_to_css(xhwp5path, f) |
| print("Step 6: CSS Done", flush=True) |
|
|
| print("Step 7: Extracting BinData...", flush=True) |
| bindata_dir = os.path.join(output_dir, 'bindata') |
| transformer.extract_bindata_dir(hwp5file, bindata_dir) |
| print("Step 7: BinData Done", flush=True) |
|
|
| print("All Done", flush=True) |
|
|
| if __name__ == "__main__": |
| main() |
|
|