tipo tamaño letra fuente consola color cambiar c# openxml openxml-sdk

c# - tamaño - cambiar tipo de letra en vba



¿Cómo puedo cambiar la fuente abierta xml (1)

Para aplicar un estilo a su texto con una fuente específica, siga los pasos que se detallan a continuación:

  1. Crear una instancia de la clase RunProperties .
  2. Crear una instancia de la clase RunFont . Establezca la propiedad Ascii en la familia de fuentes deseada.
  3. Especifique el tamaño de su fuente (tamaño de fuente de medio punto) usando la clase FontSize .
  4. Prependa la instancia de RunProperties a su ejecución que contiene el texto a estilo.

Aquí hay un pequeño ejemplo de código que ilustra los pasos descritos anteriormente:

private static void BuildDocument(string fileName, List<string> text) { using (var wordDoc = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document)) { var mainPart = wordDoc.AddMainDocumentPart(); mainPart.Document = new Document(); var run = new Run(); foreach (string currText in text) { run.AppendChild(new Text(currText)); run.AppendChild(new CarriageReturn()); } var paragraph = new Paragraph(run); var body = new Body(paragraph); mainPart.Document.Append(body); var runProp = new RunProperties(); var runFont = new RunFonts { Ascii = "Arial" }; // 48 half-point font size var size = new FontSize { Val = new StringValue("48") }; runProp.Append(runFont); runProp.Append(size); run.PrependChild(runProp); mainPart.Document.Save(); wordDoc.Close(); } }

Espero que esto ayude.

¿Cómo puedo cambiar la familia de fuentes del documento a través de OpenXml? Probé algunas formas pero, cuando abro el documento, siempre está en Calibri.

Sigue mi código, y lo que intenté.

El generador de encabezados creo que es inútil publicar

private static void BuildDocument(string fileName, List<string> lista, string tipo) { using (var w = WordprocessingDocument.Create(fileName, WordprocessingDocumentType.Document)) { var mp = w.AddMainDocumentPart(); var d = new DocumentFormat.OpenXml.Wordprocessing.Document(); var b = new Body(); var p = new DocumentFormat.OpenXml.Wordprocessing.Paragraph(); var r = new Run(); // Get and format the text. for (int i = 0; i < lista.Count; i++) { Text t = new Text(); t.Text = lista[i]; if (t.Text == " ") { r.Append(new CarriageReturn()); } else { r.Append(t); r.Append(new CarriageReturn()); } } // What I tried var rPr = new RunProperties(new RunFonts() { Ascii = "Arial" }); lista.Clear(); p.Append(r); b.Append(p); var hp = mp.AddNewPart<HeaderPart>(); string headerRelationshipID = mp.GetIdOfPart(hp); var sectPr = new SectionProperties(); var headerReference = new HeaderReference(); headerReference.Id = headerRelationshipID; headerReference.Type = HeaderFooterValues.Default; sectPr.Append(headerReference); b.Append(sectPr); d.Append(b); // Customize the header. if (tipo == "alugar") { hp.Header = BuildHeader(hp, "Anúncio Aluguel de Imóvel"); } else if (tipo == "vender") { hp.Header = BuildHeader(hp, "Anúncio Venda de Imóvel"); } else { hp.Header = BuildHeader(hp, "Aluguel/Venda de Imóvel"); } hp.Header.Save(); mp.Document = d; mp.Document.Save(); w.Close(); } }