I'm working with Python 3, Django and the `xhtml2pdf` package.

I want to create a PDF from an HTML string, but I don't want to write the PDF on disk, but rather just to get its bytes from memory, as in using `BytesIO` or `StringIO`.

I've read the `xhtml2pdf` [documentation](https://xhtml2pdf.readthedocs.io/en/latest/usage.html#using-with-python-standalone). This is the closest I've found related to what I need:

> 
> In-memory files can be generated by using StringIO or cStringIO instead of the file open. Advanced options will be discussed later in this document.
> 
> 
> 

And this is one of the latest things I've tried:

```py
def html_to_pdf(html):
    """Writes a PDF file using xhtml2pdf from a given HTML stream

    Parameters
    ----------
    html : str
        A HTML valid string.

    Returns
    -------
    bytes
        A bytes sequence containing the rendered PDF.
    """
    output = BytesIO()
    pisa_status = pisa.CreatePDF(html, dest=output)
    return new_output.read()

```

But this isn't working.

Any idea how to output the generated PDF as a in-memory object and thus return its bytes?