Más información Xceed Words para .NET
Ahora que hemos cubierto la mayor parte de lo que se puede añadir a un documento, veamos cómo utilizar plantillas y sustituir texto automáticamente, así como cómo convertir un documento a PDF.
Plantillas
La aplicación de una plantilla a un documento se realiza llamando a la función AplicarPlantilla en el documento.
En AplicarPlantilla admite 4 sobrecargas, dependiendo de si se pasa una ruta de archivo o un flujo, y de si se incluye el parámetro opcional para indicar si el contenido del texto de la plantilla de documento debe copiarse en el documento (verdadero por defecto).
Ejemplo de utilización de una ruta de archivo:
// Get the path to a template document
var templatePath = MyResourcesDirectory + @"Template.docx";
// Apply the template to a document
document1.ApplyTemplate( templatePath );
// Apply the template to a document, but do not copy the content of the template to the document
document2.ApplyTemplate( templatePath, false );
Sustitución de texto
En SustituirTexto está disponible tanto en el documento como en el párrafo, lo que permite la flexibilidad de sustituir el texto sólo en un párrafo específico o en todo el documento.
En SustituirTexto admite 2 sobrecargas, una para proporcionar un nuevo valor de cadena y otra para proporcionar una función que se utilizará como controlador de coincidencias regex.
En ambas sobrecargas, debe proporcionarse un valor de búsqueda (cadena), así como el nuevo valor correspondiente en función de la sobrecarga utilizada. También hay varios parámetros opcionales disponibles, incluyendo la capacidad de rastrear los cambios o no, las RegexOptions, el nuevo Formato, el Formato de coincidencia, las MatchFormattingOptions y si los párrafos vacíos deben ser eliminados o no.
// Simple text replacement in a paragraph
p.ReplaceText("<FIRST_NAME>", "John");
p.ReplaceText("<LAST_NAME>", "Doe");
// Simple text replacement in a document
document.ReplaceText("<CODE>", "A3124x");
Un ejemplo más complejo también está disponible en la documentación aquí.
Sustitución de texto por objetos
También es posible sustituir texto por objetos utilizando la función ReemplazarTextoConObjeto también disponible tanto en documento como en párrafo.
En ReemplazarTextoConObjeto espera el valor de búsqueda y el objeto a añadir como parámetros obligatorios y tiene varios parámetros opcionales de forma similar al método SustituirTexto método.
// Replace text with an Image
document.ReplaceTextWithObject( "<YEAR_IMAGE>", picture, false, RegexOptions.IgnoreCase );
// Replace text with a Hyperlink
document.ReplaceTextWithObject( "<YEAR_LINK>", hyperlink );
// Replace text with a Table
document.ReplaceTextWithObject( "<YEAR_TABLE>", table );
Convertir a PDF
Para convertir un documento a PDF, el botón ConvertToPdf se llama al método.
En ConvertToPdf tiene 2 sobrecargas para soportar dos posibles salidas, una para un nombre de archivo, la otra para un flujo. En ambos casos, sin embargo, espera el documento a convertir como primer parámetro.
Ejemplo cuando se utiliza un nombre de archivo como salida:
using( var document = DocX.Load( "DocumentToConvert.docx" ) )
{
// Convert the Document to PDF and output to a pdf file
DocX.ConvertToPdf( document, "ConvertedDocument.pdf" );
}
Notas:
- Necesita la referencia Xceed.Pdf.dll para convertir a PDF.
- Para convertir un documento con una fuente específica a PDF, la fuente (un archivo ttf) debe estar instalada en "Panel de controlTodos los elementos del panel de controlFuentes", de lo contrario se utilizará la fuente Arial por defecto para generar el documento PDF.
Aunque la mayoría de los elementos docx se convertirán a PDF, es posible que algunos elementos no se conviertan correctamente. Si te encuentras con una situación en la que los elementos no se convierten correctamente a PDF, háznoslo saber y estudiaremos la posibilidad de añadir esa funcionalidad.
Para más información, consulte el documentación.