Tabla de contenido
- Biblioteca Python para crear documentos de Word a partir de plantillas
- Cree documentos de Word a partir de plantillas reemplazando el texto del marcador de posición
- Cree documentos de Word a partir de plantillas reemplazando marcadores
- Cree documentos de Word a partir de plantillas realizando una combinación de correspondencia
- Obtenga una licencia gratuita
- Conclusión
- Ver también
Instalar con Pip
pip install Spire.Doc
enlaces relacionados
Las plantillas proporcionan una estructura y un diseño listos para usar, lo que le ahorra tiempo y esfuerzo al crear documentos desde cero. En lugar de diseñar el diseño del documento, los estilos de formato y la organización de las secciones, simplemente puede elegir una plantilla que cumpla con sus requisitos y comenzar a agregar su contenido. Esto es particularmente útil cuando necesita crear varios documentos con una apariencia consistente. En este blog, exploraremos cómo crear documentos de Word a partir de plantillas usando Python.
Analizaremos tres enfoques diferentes para generar documentos de Word a partir de plantillas:
- Cree documentos de Word a partir de plantillas reemplazando el texto del marcador de posición en Python
- Cree documentos de Word a partir de plantillas reemplazando marcadores en Python
- Cree documentos de Word a partir de plantillas realizando una combinación de correspondencia en Python
Biblioteca Python para crear documentos de Word a partir de plantillas
Para empezar, necesitamos instalar el módulo Python necesario que admita la generación de documentos de Word a partir de plantillas. En esta publicación de blog, usaremos la biblioteca Spire.Doc for Python .
Spire.Doc for Python ofrece un conjunto completo de funciones para crear, leer, editar y convertir archivos de Word dentro de aplicaciones Python. Proporciona compatibilidad perfecta con varios formatos de Word, incluidos Doc, Docx, Docm, Dot, Dotx, Dotm y más. Además, permite la conversión de alta calidad de documentos de Word a diferentes formatos, como Word a PDF, Word a RTF, Word a HTML, Word a texto, y Word a imagen.
Para instalar Spire.Doc for Python, puede ejecutar el siguiente comando pip:
pip install Spire.Doc
Para obtener instrucciones de instalación detalladas, consulte esta documentación: Cómo instalar Spire.Doc for Python en VS Code.
Cree documentos de Word a partir de plantillas reemplazando el texto del marcador de posición en Python
"Texto de marcador de posición" se refiere a texto temporal que se puede reemplazar fácilmente con el contenido deseado. Para crear un documento de Word a partir de una plantilla reemplazando el texto del marcador de posición, debe preparar una plantilla que incluya texto del marcador de posición predefinido. Esta plantilla se puede crear manualmente usando la aplicación Microsoft Word o generado programáticamente con Spire.Doc for Python.
Estos son los pasos para crear un documento de Word a partir de una plantilla reemplazando el texto del marcador de posición usando Spire.Doc for Python:
- Cree una instancia de documento y luego cargue una plantilla de Word usando el método Document.LoadFromFile().
- Defina un diccionario que asigne el texto del marcador de posición a su texto de reemplazo correspondiente para realizar reemplazos en el documento.
- Recorre el diccionario.
- Reemplace el texto del marcador de posición en el documento con el texto de reemplazo correspondiente usando el método Document.Replace().
- Guarde el documento resultante utilizando el método Document.SaveToFile().
A continuación se muestra un ejemplo de código que crea un documento de Word a partir de una plantilla reemplazando el texto del marcador de posición usando 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()
Consejos: este ejemplo explica cómo reemplazar el texto del marcador de posición en una plantilla de Word con texto nuevo. Vale la pena señalar que Spire.Doc para Python admite el reemplazo de texto en varios escenarios, incluido el reemplazo de texto con imágenes, el reemplazo de texto con tablas, el reemplazo de texto usando expresiones regulares y más. Puede encontrar más detalles en esta documentación: Python: buscar y reemplazar texto en Word.
Cree documentos de Word a partir de plantillas reemplazando marcadores en Python
Los marcadores en un documento de Word sirven como puntos de referencia que le permiten insertar o reemplazar contenido con precisión en ubicaciones específicas dentro del documento. Para crear un documento de Word a partir de una plantilla reemplazando marcadores, debe preparar una plantilla que contenga marcadores predefinidos. Esta plantilla se puede crear manualmente usando la aplicación Microsoft Word o generado programáticamente con Spire.Doc for Python.
Estos son los pasos para crear un documento de Word a partir de una plantilla reemplazando marcadores usando Spire.Doc for Python:
- Cree una instancia de documento y cargue un documento de Word utilizando el método Document.LoadFromFile().
- Defina un diccionario que asigne nombres de marcadores a su texto de reemplazo correspondiente para realizar reemplazos en el documento.
- Recorre el diccionario.
- Cree una instancia de BookmarksNavigator y navegue hasta el marcador específico por su nombre utilizando el método BookmarkNavigator.MoveToBookmark().
- Reemplace el contenido del marcador con el texto de reemplazo correspondiente utilizando el método BookmarkNavigator.ReplaceBookmarkContent().
- Guarde el documento resultante utilizando el método Document.SaveToFile().
A continuación se muestra un ejemplo de código que crea un documento de Word a partir de una plantilla reemplazando marcadores usando 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()
Cree documentos de Word a partir de plantillas realizando una combinación de correspondencia en Python
La combinación de correspondencia es una característica poderosa de Microsoft Word que le permite crear documentos personalizados a partir de una plantilla combinándola con una fuente de datos. Para crear un documento de Word a partir de una plantilla mediante la combinación de correspondencia, debe preparar una plantilla que incluya campos de combinación predefinidos. Esta plantilla se puede crear manualmente usando la aplicación Microsoft Word o generarse mediante programación con Spire.Doc for Python usando el siguiente código:
- 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()
Estos son los pasos para crear un documento de Word a partir de una plantilla mediante la combinación de correspondencia usando Spire.Doc for Python:
- Cree una instancia de documento y luego cargue una plantilla de Word usando el método Document.LoadFromFile().
- Defina una lista de nombres de campos de combinación.
- Defina una lista de valores de campos de combinación.
- Realice una combinación de correspondencia utilizando los nombres de campo y los valores de campo especificados utilizando el método Document.MailMerge.Execute().
- Guarde el documento resultante utilizando el método Document.SaveToFile().
A continuación se muestra un ejemplo de código que crea un documento de Word a partir de una plantilla mediante la combinación de correspondencia utilizando 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()
Obtenga una licencia gratuita
Para experimentar plenamente las capacidades de Spire.Doc for Python sin limitaciones de evaluación, puede solicitar una licencia de prueba gratuita de 30 días..
Conclusión
Este blog demostró cómo crear documentos de Word a partir de plantillas de 3 maneras diferentes usando Python y Spire.Doc for Python. Además de crear documentos de Word, Spire.Doc for Python proporciona numerosas funciones para manipular documentos de Word, puede consultar su documentación para más información. Si tiene alguna pregunta, no dude en publicarla en nuestro foro o enviarlos a nuestro equipo de soporte a través de correo electrónico.