Creating DOCX
The goal of this library is to help you out with basic tasks. You can easily generate DOCX files with 100 pages (paper size is A4), having a little text on each.
If you don’t like how DOCX files are generated by this library, you can check the faker-file package, which can produce complex DOCX documents.
If you need bytes
from fake import FAKER
docx_bytes = FAKER.docx()
See the full example
here
The generated DOCX will consist of a single page with little text on it.
If you want to control number of pages created, you could:
Pass the list of texts to be used in
texts
argument.Pass the number of pages to be created in
nb_pages
argument.
See the example below for texts
tweak:
texts = FAKER.sentences()
docx_bytes = FAKER.docx(texts=texts)
See the full example
here
See the example below for nb_pages
tweak:
docx_bytes = FAKER.docx(nb_pages=100)
See the full example
here
If you need files
docx_file = FAKER.docx_file()
See the full example
here
With texts
tweak:
texts = FAKER.sentences()
docx_file = FAKER.docx_file(texts=texts)
See the full example
here
With nb_pages
tweak:
docx_file = FAKER.docx_file(nb_pages=100)
See the full example
here
Using text templates:
from fake import FAKER, StringTemplate
template = """
{date(start_date='-7d')}
{name}
{sentence(nb_words=2, suffix='')} {pyint(min_value=1, max_value=99)}
{randomise_string(value='#### ??', digits='123456789')} {city}
Dear friend,
{text(nb_chars=1000, allow_overflow=True)}
Sincerely yours,
{name}
{email}
{domain_name}
"""
# DOCX file of 1 page
docx_file_1 = FAKER.docx_file(
texts=[StringTemplate(template)],
)
# DOCX file of 10 pages
docx_file_10 = FAKER.docx_file(
texts=[StringTemplate(template) for _ in range(10)],
)