Категория

Создание документов Word из шаблонов с помощью Python

2024-01-09 02:27:13 zaki zou

Шаблоны предоставляют готовую структуру и макет, что экономит ваше время и усилия при создании документов с нуля. Вместо того, чтобы разрабатывать макет документа, стили форматирования и организацию разделов, вы можете просто выбрать шаблон, соответствующий вашим требованиям, и начать добавлять свой контент. Это особенно полезно, когда вам нужно создать несколько документов с единообразным внешним видом. В этом блоге мы рассмотрим, как создавать документы Word из шаблонов с помощью Python.

Мы обсудим три различных подхода к созданию документов Word из шаблонов:

Библиотека Python для создания документов Word из шаблонов

Для начала нам необходимо установить необходимый модуль Python, поддерживающий генерацию документов Word из шаблонов. В этом сообщении блога мы будем использовать библиотеку Spire.Doc for Python .

Spire.Doc for Python предлагает полный набор функций для создания, чтения, редактирования и преобразования файлов Word в приложениях Python. Он обеспечивает бесперебойную поддержку различных форматов Word, включая Doc, Docx, Docm, Dot, Dotx, Dotm и другие. Кроме того, он обеспечивает высококачественное преобразование документов Word в различные форматы, такие как Word в PDF, Word в RTF, Word в HTML, Word в текст и Word в изображение.

Чтобы установить Spire.Doc for Python, вы можете запустить следующую команду pip:

pip install Spire.Doc

Подробные инструкции по установке можно найти в этой документации: Как установить Spire.Doc for Python в VS Code.

Создание документов Word из шаблонов путем замены текста заполнителя в Python

«Текст-заполнитель» относится к временному тексту, который можно легко заменить нужным содержимым. Чтобы создать документ Word на основе шаблона путем замены текста-заполнителя, необходимо подготовить шаблон, включающий предварительно определенный текст-заполнитель. Этот шаблон можно создать вручную с помощью приложения Microsoft Word или программно сгенерированный с помощью Spire.Doc for Python.

Ниже приведены шаги по созданию документа Word на основе шаблона путем замены текста-заполнителя с помощью Spire.Doc for Python:

  • Создайте экземпляр документа, а затем загрузите шаблон Word с помощью метода Document.LoadFromFile().
  • Определите словарь, который сопоставляет текст-заполнитель с соответствующим текстом замены для выполнения замен в документе.
  • Пролистайте словарь.
  • Замените текст заполнителя в документе соответствующим текстом замены, используя метод Document.Replace().
  • Сохраните полученный документ с помощью метода Document.SaveToFile().

Ниже приведен пример кода, который создает документ Word из шаблона путем замены текста-заполнителя с помощью Spire.Doc for Python:

  • Python
from spire.doc import *
from spire.doc.common import *

# Specify the input and output file paths
inputFile = "Placeholder_Template.docx"
outputFile = "CreateDocumentByReplacingPlaceholderText.docx"

# Create a Document object
document = Document()
# Load a Word template with placeholder text
document.LoadFromFile(inputFile)

# Create a dictionary to store the placeholder text and its corresponding replacement text
# Each key represents a placeholder, while the corresponding value represents the replacement text
text_replacements = {
    "{name}": "John Smith",
    "{email}": "johnsmith@example.com",
    "{telephone}": "(123) 456-7890",
    "{address}": "123 Main Street, A City, B State",
    "{education}": "B.S. in Computer Science \nXYZ University \n2010 - 2014",
    "{experience}": "Software Engineer \nABC Company \n2015 - Present",
    "{skills}": "Programming (Python, Java, C++) \nProject Management \nProblem Solving",
    "{projects}": "Developed a mobile app for XYZ Company, resulting in a 20% increase in user engagement. \nLed a team of 5 developers to successfully deliver a complex software project on time and within budget.",
    "{certifications}": "Project Management Professional (PMP) \nMicrosoft Certified: Azure Developer Associate",
    "{languages}": "English (Fluent) \nSpanish (Intermediate)",
    "{interests}": "Traveling, Photography, Reading"
}

# Loop through the dictionary
for placeholder_text, replacement_text in text_replacements.items():
    # Replace the placeholder text in the document with the replacement text
    document.Replace(placeholder_text, replacement_text, False, False)

# Save the resulting document
document.SaveToFile(outputFile, FileFormat.Docx2016)
document.Close()

Create Word Documents from Templates with Python

Советы. В этом примере объясняется, как заменить текст-заполнитель в шаблоне Word новым текстом. Стоит отметить, что Spire.Doc для Python поддерживает замену текста в различных сценариях, включая замену текста изображениями, замену текста таблицами, замену текста с помощью регулярных выражений и многое другое. Более подробную информацию можно найти в этой документации: Python: найти и заменить текст в Word.

Создание документов Word из шаблонов путем замены закладок в Python

Закладки в документе Word служат ориентирами, которые позволяют точно вставлять или заменять контент в определенных местах документа. Чтобы создать документ Word из шаблона путем замены закладок, необходимо подготовить шаблон, содержащий предопределенные закладки. Этот шаблон можно создать вручную с помощью приложения Microsoft Word или программно сгенерированный с помощью Spire.Doc for Python.

Ниже приведены шаги по созданию документа Word из шаблона путем замены закладок с помощью Spire.Doc for Python:

  • Создайте экземпляр Document и загрузите документ Word с помощью метода Document.LoadFromFile().
  • Определите словарь, который сопоставляет имена закладок с соответствующим текстом замены для выполнения замен в документе.
  • Пролистайте словарь.
  • Создайте экземпляр BookmarksNavigator и перейдите к определенной закладке по ее имени с помощью метода BookmarkNavigator.MoveToBookmark().
  • Замените содержимое закладки соответствующим текстом замены, используя метод BookmarkNavigator.ReplaceBookmarkContent().
  • Сохраните полученный документ с помощью метода Document.SaveToFile().

Ниже приведен пример кода, который создает документ Word из шаблона путем замены закладок с помощью Spire.Doc for Python:

  • Python
from spire.doc import *
from spire.doc.common import *

# Create a Document object
document = Document()
# Load a Word template with bookmarks
document.LoadFromFile("Template_Bookmark.docx")

# Create a dictionary to store the bookmark names and their corresponding replacement text
# Each key represents a bookmark name, while the corresponding value represents the replacement text
bookmark_replacements = {
    "introduction": "In today's digital age, effective communication is crucial.",
    "methodology": "Our research approach focuses on gathering qualitative data.",
    "results": "The analysis reveals significant findings supporting our hypothesis.",
    "conclusion": "Based on our findings, we recommend further investigation in this field."
}

# Loop through the dictionary
for bookmark_name, replacement_text in bookmark_replacements.items():
    # Replace the content of the bookmarks in the document with the corresponding replacement text
    bookmarkNavigator = BookmarksNavigator(document)
    bookmarkNavigator.MoveToBookmark(bookmark_name)
    bookmarkNavigator.ReplaceBookmarkContent(replacement_text, True)
    # Remove the bookmarks from the document
    document.Bookmarks.Remove(bookmarkNavigator.CurrentBookmark)

# Save the resulting document
document.SaveToFile("CreateDocumentByReplacingBookmark.docx", FileFormat.Docx2016)
document.Close()

Create Word Documents from Templates with Python

Создавайте документы Word из шаблонов, выполняя слияние почты в Python

Слияние почты — это мощная функция Microsoft Word, которая позволяет создавать настраиваемые документы на основе шаблона, объединяя его с источником данных. Чтобы создать документ Word на основе шаблона путем выполнения слияния почты, необходимо подготовить шаблон, включающий предопределенные поля слияния. Этот шаблон можно создать вручную с помощью приложения Microsoft Word или программно с помощью Spire.Doc for Python, используя следующий код:

  • Python
from spire.doc import *
from spire.doc.common import *

# Create a Document object
document = Document()
# Add a section
section = document.AddSection()
# Set page margins
section.PageSetup.Margins.All = 72.0

# Add a paragraph
paragraph = section.AddParagraph()
# Add text to the paragraph
paragraph.AppendText("Customer Name: ")

# Add a paragraph
paragraph = section.AddParagraph()
# Add a merge field to the paragraph
paragraph.AppendField("Recipient Name", FieldType.FieldMergeField)

# Save the resulting document
document.SaveToFile("Template.docx", FileFormat.Docx2013)
document.Close()

Ниже приведены шаги по созданию документа Word из шаблона путем выполнения слияния почты с помощью Spire.Doc for Python:

  • Создайте экземпляр документа, а затем загрузите шаблон Word с помощью метода Document.LoadFromFile().
  • Определите список имен полей слияния.
  • Определите список значений поля слияния.
  • Выполните слияние почты, используя указанные имена полей и значения полей, используя метод Document.MailMerge.Execute().
  • Сохраните полученный документ с помощью метода Document.SaveToFile().

Ниже приведен пример кода, который создает документ Word из шаблона путем выполнения слияния почты с помощью Spire.Doc for Python:

  • Python
from spire.doc import *
from spire.doc.common import *

# Create a Document object
document = Document()
# Load a Word template with merge fields
document.LoadFromFile("Template_MergeFields.docx")

# Define a list of field names
filedNames = ["Recipient Name", "Company Name", "Amount", "Due Date", "Payment Method", "Sender Name", "Title", "Phone"]

# Define a list of field values
filedValues = ["John Smith",  "ABC Company", "$500", DateTime.get_Now().Date.ToString(), "PayPal", "Sarah Johnson", "Accounts Receivable Manager", "123-456-7890"]

# Perform a mail merge operation using the specified field names and field values
document.MailMerge.Execute(filedNames, filedValues)

# Save the resulting document
document.SaveToFile("CreateDocumentByMailMerge.docx", FileFormat.Docx2016)
document.Close()

Create Word Documents from Templates with Python

Получите бесплатную лицензию

Чтобы в полной мере оценить возможности Spire.Doc for Python без каких-либо ограничений оценки, вы можете запросить бесплатная 30-дневная пробная лицензия.

Заключение

В этом блоге показано, как создавать документы Word из шаблонов тремя различными способами с использованием Python и Spire.Doc for Python. Помимо создания документов Word, Spire.Doc for Python предоставляет множество функций для работы с документами Word. Дополнительную информацию можно найти в его документации. Если у вас возникнут какие-либо вопросы, пожалуйста, задайте их на нашем сайте. Форум или отправьте их в нашу службу поддержки через электронная почта.

Смотрите также