Skip to main content

hwp file format parser

Project description


HWP Document Format v5 parser & processor.


  • Analyze and extract internal streams out from a HWP Document Format v5 file

  • (Experimental) Conversion to OpenDocument format (.odt) or plain text (.txt)


from pypi:

virtualenv pyhwp
pyhwp/bin/pip install --pre pyhwp  # Install pyhwp into a virtualenv directory


pip install --user --pre pyhwp  # Install pyhwp into user's home directory


Documentation & Development


Maintainer: mete0r


Copyright (C) 2010-2020 mete0r <>

GNU Affero General Public License v3.0 (text version)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <>.


This program has been developed in accordance with a public document named “HWP Binary Specification 1.1” published by Hancom Inc.


0.1b15 (2020-05-30)

  • Unknown Numbering.Kind value of 6, which is not described in the official specification docs, has been added. See #177.

0.1b14 (2020-05-17)

  • Fix xmldump_flat for Python 3.8

0.1b13 (2020-05-17)

  • Replace docopt with argparse.

  • Workaround for BinData decompression (#175, #176)

0.1b12 (2019-04-08)

  • Add Python 3.x support.

  • Add an optional dependency on colorlog for colorful logging

  • Remove dependency on hypua2jamo, resulting no automatic conversion of Hanyang PUA to Hangul Jamo

0.1b11 (2019-03-21)

  • Remove dependency on PyCrypto. - [CVE-2013-7458], [CVE-2018-6594]

  • Add dependency on cryptography.

0.1b10 (2019-03-21)

  • Drop support for Python 2.5, 2.6.

  • Prefer ‘olefile’ to ‘OleFileIO_PL’.

  • Fix ‘Dutmal’ control attribute names.

  • hwp5html: represent path names in bytes

  • Declare some dependencies with environment markers: olefile, lxml, pycrypto

  • Update dependency on hypua2jamo >= 0.4.4

0.1b9 (2016-02-26)

  • hwp5html: serveral improvements - lang-* classes of span elements and associated css font-family - horizontal page layouts - Single page layout - enhance horizontal positioning of TableControl, GShapeObject

  • distdoc: fix sha1offset (by Hodong Kim)

0.1b8 (2014-11-03)

  • hwp5view: experimental viewer with webkitgtk+

  • hwp5proc: xml –formats (“flat”, “nested”)

  • hwp5proc: models –events (experimental)

  • hwp5proc: models –seqno –format (incompatible changes)

  • hwp5proc: find –from-stdin

  • hwp5proc: find –format

  • binmodels: GShapeObjectCaption

  • olestorage: Gsf implementation through python-gi

  • olestorage: use new olefile instead of OleFileIO_PL

0.1b7 (2014-01-31)

0.1b6 (2014-01-20)

  • binmodel: change type of TableCell dimensions to signed integer

  • hwp5odt: fix NCName for style:name (close #140)

  • hwp5proc: fix with-statement in ‘xml’ command for Python 2.5

  • hwp5proc: mark ‘xml’ command experimental

0.1b5 (2013-10-29)

  • close #134

  • hwp5html generates .xhtml instead of .html

  • hwp5proc: new ‘–no-xml-decl’ option

  • hwp5odt: fix to not use ‘/’ in resulting style names

  • hwp5proc: IdMappings.memoshape only if version >

0.1b4 (2013-07-03)

  • hwp5proc records: new option ‘–raw-header’

  • hwp5odt: new ‘–document’ option produces single ODT XML files (*.fodt)

  • hwp5odt: new ‘–styles’, ‘–content’ option produces styles/content XML files

  • ODT XSL files restructured

0.1b3 (2013-06-18)

  • Fix IdMappings (#125)

  • hwp5proc records: new option ‘–raw-payload’

  • hwp5proc xml: FlagsType as xsd:hexBinary

  • Various binary/xml models changes

0.1b2 (2013-06-08)

  • Add PyPy support

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyhwp-0.1b15.tar.gz (218.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page