Metadata-Version: 2.4
Name: fancydocx
Version: 0.1.0
Summary: Convert fancy .docx files into a single self-contained HTML file. Pure Python, no LibreOffice.
Author-email: Bilal Sharif <bilalwork31@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/bilalwork31-cyber/docx2html
Project-URL: Repository, https://github.com/bilalwork31-cyber/docx2html
Project-URL: Issues, https://github.com/bilalwork31-cyber/docx2html/issues
Keywords: docx,html,converter,ooxml,word,resume,document,pure-python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Text Processing :: Markup :: HTML
Classifier: Topic :: Office/Business
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: verify
Requires-Dist: Pillow>=9; extra == "verify"
Requires-Dist: numpy>=1.21; extra == "verify"
Dynamic: license-file

fancydocx
=========

Convert fancy, design-heavy Word (.docx) files into a single, self-contained
HTML file, with all styling, images and fonts inlined. It is a from-scratch
reader for the Office Open XML format, written in pure Python. No LibreOffice,
no Word, and no third-party dependencies.


Features
--------

- Tables, columns, shapes, text boxes and floating images
- Theme colours, fonts and the full paragraph/run style cascade
- Bullet and numbered lists, hyperlinks, headers and footers
- Embedded fonts are recovered and inlined automatically
- Batch conversion from a simple command-line tool


Installation
------------

    pip install fancydocx


Usage
-----

In Python:

    import fancydocx

    fancydocx.convert("resume.docx", "resume.html")   # write a file
    html = fancydocx.convert("resume.docx")           # or return a string

From the command line:

    fancydocx resume.docx -o resume.html
    fancydocx ./documents -o ./html --workers 8       # convert a folder


Requirements
------------

Python 3.8 or newer. The library uses only the standard library.


Notes
-----

- Text renders with the document's own fonts when they are installed on the
  viewer's machine; pass --embed-fonts to inline them for portability.
- EMF/WMF vector images are shown as placeholders, as browsers cannot
  display them.


License
-------

MIT. See the LICENSE file.
