pqzx / html2docx

Convert html to docx
MIT License
69 stars 49 forks source link

Code breaks for base64 image source, saying OSError: [Errno 36] File name too long #28

Open maifeeulasad opened 2 years ago

maifeeulasad commented 2 years ago

I'm trying to create a document with image, and that image has a base64 value as it's source. But when I try add this, it gives me, error saying it has a long name:

/usr/local/lib/python3.8/dist-packages/docx/image/image.py in from_file(cls, image_descriptor)
     44         if is_string(image_descriptor):
     45             path = image_descriptor
---> 46             with open(path, 'rb') as f:
     47                 blob = f.read()
     48                 stream = BytesIO(blob)

OSError: [Errno 36] File name too long: 'data:image/jpeg;base64,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'

The HTML given to it, is pretty simple:

<p><img src="data:image/jpeg;base64,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" alt="some" width="100px" height="100px" /></p>

Just an image inside a paragraph.

djplaner commented 2 years ago

Had a similar issue, my solution was to make the following local changes to h2d.py - inspired by this StackOverflow answer

No exhaustive testing but appears to be working for my purposes.

Add some extra imports at the top

import base64
import io

Add a base64 check and conversion to handle_img

This is added just before the # add image to doc comment

# check if image starts with data:.*base64,
if image and image.startswith('data:image/'):
    #-- convert to bytes ready to insert to docx
    image = image.split(',')[1]
    image = base64.b64decode(image)
    image = io.BytesIO(image)
alexmaehon commented 2 years ago

Had a similar issue, my solution was to make the following local changes to h2d.py - inspired by this StackOverflow answer

No exhaustive testing but appears to be working for my purposes.

Add some extra imports at the top

import base64
import io

Add a base64 check and conversion to handle_img

This is added just before the # add image to doc comment

# check if image starts with data:.*base64,
if image and image.startswith('data:image/'):
    #-- convert to bytes ready to insert to docx
    image = image.split(',')[1]
    image = base64.b64decode(image)
    image = io.BytesIO(image)

It works!

coolkau commented 1 year ago

I had a similar issue, rather than embedding the image this line is in the word document:

<image: fZvATdwBXdw45YLCfdwET=>