Using our programming API, Python via .NET developers can easily make a document in PDF, DOC, DOCX, HTML, EPUB, and many other formats with just a few lines of code.
With the given powerful API, Python developers can create documents in almost any format. To do this, you need to follow a few steps using our Python via .NET library:
It is worth noting that a blank document is technically supposed to contain one paragraph, so when you programmatically create a document, you will get exactly that basic document structure.
Note that you can instantly add content to a newly created document. Thus, you will get not just an empty document, but a document containing the necessary content. For more information on how to edit a document, see the Editing page.
The given Python via .NET library allows you to programmatically create a document in any supported format – PDF, DOCX, DOC, RTF, ODT, EPUB, HTML and other.
Try our powerful functionality and see how to create a document in some formats using the following example:
pip install aspose-words
Copy
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
font = builder.font
font.name = "Courier New"
font.color = drawing.Color.blue
font.size = 36
font.highlight_color = drawing.Color.yellow
builder.write("Morbi enim nunc faucibus a.")
doc.Save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
doc.Save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
save_options = aw.saving.PdfSaveOptions()
save_options.outline_options.bookmarks_outline_levels.add("Aspose bookmark", 1);
doc.Save("Output.docx", save_options);
import aspose.words as aw
doc = aw.Document()
run = aw.Run(doc, "Proin eros metus, sagittis sed.")
para = doc.first_section.body.first_paragraph
para.append_child(run)
comment = aw.Comment(doc)
comment.author = "John Doe"
comment.initial = "JD"
comment.date_time = datetime.now()
comment.set_text("Quisque fringilla leo.")
commentRangeStart = aw.CommentRangeStart(doc, comment.id)
commentRangeEnd = aw.CommentRangeEnd(doc, comment.id)
run.parent_node.insert_before(commentRangeStart, run)
run.parent_node.insert_after(commentRangeEnd, run)
commentRangeEnd.parent_node.insert_after(comment, commentRangeEnd)
comment.add_reply("Jane Doe", "JD", datetime.now(), "Pellentesque vel sapien justo.")
doc.save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
doc.Save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
save_options = aw.saving.PdfSaveOptions()
save_options.outline_options.bookmarks_outline_levels.add("Aspose bookmark", 1);
doc.Save("Output.docx", save_options);
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
doc.Save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
doc.Save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
save_options = aw.saving.PdfSaveOptions()
save_options.outline_options.bookmarks_outline_levels.add("Aspose bookmark", 1);
doc.Save("Output.docx", save_options);
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_chart(aw.drawing.charts.ChartType.PIE, 432, 252)
chart = shape.chart
chart.title.text = "Demo Chart"
chart.series.clear()
chart.series.add("Series 1",
["Category1", "Category2", "Category3"],
[2.7, 3.2, 0.8])
doc.save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
doc.Save("Output.docx")
import aspose.words as aw
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
firstRun = aw.Run(doc, "Proin eros metus, sagittis sed. ")
secondRun = aw.Run(doc, "Morbi enim nunc faucibus a.")
doc.first_section.body.first_paragraph.append_child(firstRun)
doc.first_section.body.first_paragraph.append_child(secondRun)
builder.move_to(secondRun)
builder.start_bookmark("Aspose bookmark")
# If NextSibling is null, then most likely this is the last Run in the Paragraph.
if (secondRun.next_sibling != None):
builder.move_to(secondRun.next_sibling)
else:
builder.move_to(secondRun.parent_paragraph)
builder.end_bookmark("Aspose bookmark")
save_options = aw.saving.PdfSaveOptions()
save_options.outline_options.bookmarks_outline_levels.add("Aspose bookmark", 1);
doc.Save("Output.docx", save_options);
We host our Python packages in PyPi repositories. Please follow the step-by-step instructions on how to install "Aspose.Words for Python via .NET" to your developer environment.
This package is compatible with Python ≥3.5 and <3.12. If you develop software for Linux, please have a look at additional requirements for gcc and libpython in Product Documentation.