private static MemoryStream CreateWordFile(List <Topic> topics) { MemoryStream ms = new MemoryStream(); // Create a document in memory: using (DocX doc = DocX.Create("wordFileName.docx")) { if (!string.IsNullOrEmpty(_wordTemplatePath)) { doc.ApplyTemplate(_wordTemplatePath); } int i = 1; //Sort topics by date List <Topic> sortedTopics = topics.OrderBy(x => x.Markup.Topic.Description).ToList(); foreach (Topic topic in sortedTopics) { //Add note to the report AddTopicToWord(topic, doc); //(sender as BackgroundWorker).ReportProgress(i); i++; } doc.SaveAs(ms); } return(ms); }
public static void CreateDoc(string filePath) { _filePath = filePath; _doc = DocX.Create(filePath); _doc.ApplyTemplate(@"C:\Projects\ExportPreso\ExportPreso\WordTemplate\_template.dotx"); }
private void button1_Click(object sender, EventArgs e) { //using (DocX document = DocX.Create(@"C:\GitHub\Test.docx")) //{ //var doc /* * foreach (var field in document.CustomProperties) * { * if (field.Value.Name.Contains("Fatos")) * { * document.InsertParagraph("sim sim sim"); * } * * } */ var filename = @"C:\GitHub\Test.docx"; DocX document = DocX.Create(filename); document.ApplyTemplate(@"C:\GitHub\PeticaoModelo.docx"); Paragraph p = document.InsertParagraph("alo Hordes"); if (p.Text.Contains("ordes")) { Paragraph i = document.InsertParagraph("n n"); } document.InsertParagraph("sim sim"); document.Save(); Process.Start("WINWORD.EXE", filename); //document.Tex/t.Select(); // } }
/// <summary> /// Add a template to a document. /// </summary> public static void ApplyTemplate() { Console.WriteLine("\tApplyTemplate()"); // Create a new document. using (DocX document = DocX.Create(DocumentSample.DocumentSampleOutputDirectory + @"ApplyTemplate.docx")) { // The path to a template document, var templatePath = DocumentSample.DocumentSampleResourcesDirectory + @"Template.docx"; // Apply a template to the document based on a path. document.ApplyTemplate(templatePath); // Add a paragraph at the end of the template. document.InsertParagraph("This paragraph is not part of the template.").FontSize(15d).UnderlineStyle(UnderlineStyle.singleLine).SpacingBefore(50d); // Save this document to disk. document.Save(); Console.WriteLine("\tCreated: ApplyTemplate.docx\n"); } }
public void gerarDocumento(string documento) { //identificar titulos #region //identificar titulo1 e marcar como [Ttulo1] var peticaoComTitulos = Regex.Replace(documento, @".*\r\n-{3,}\r\n-{3,}", "[Ttulo1]$0"); //excluir marcador de titulo1 peticaoComTitulos = Regex.Replace(peticaoComTitulos, @"\r\n-{3,}\r\n-{3,}", ""); //identificar titulo2--- e marcar como [Ttulo2] peticaoComTitulos = Regex.Replace(peticaoComTitulos, @".*\r\n-{3,}", "[Ttulo2]$0"); //excluir marcador de Titulo2 peticaoComTitulos = Regex.Replace(peticaoComTitulos, @"\r\n-{3,}", ""); #endregion // split petição por parágrafos #region var docLines = peticaoComTitulos.Split(new string[] { "\r\n" }, System.StringSplitOptions.None); string filename = @"C:\GitHub\Test2.docx"; #endregion //criação do documento //using (DocX document = DocX.Create(@"C:\GitHub\Test2.docx")) using (DocX document = DocX.Create(@"C:\GitHub\Test2.docx")) { document.ApplyTemplate(@"C:\GitHub\PeticaoModelo4.docx"); //remover configurações do tamplate no documento foreach (var paragraph in document.Paragraphs) { paragraph.Remove(false); } //atribuir estilo de acordo com palavras chaves foreach (var line in docLines) { if (line.Contains("[endereçamento]")) { document.InsertParagraph(line).StyleName = "Endereamento"; } else if (line.IndexOf("[qualificação]") > -1) { document.InsertParagraph(line).StyleName = "CorpoDeTexto0"; } else if (line.Contains("[peça]")) { document.InsertParagraph(line).StyleName = "NomeDaPea"; } else if (line.Contains("[Ttulo1]") || line.Contains("[fatos]") || line.Contains("[direito]") || line.Contains("[pedido]")) { document.InsertParagraph(line).StyleName = "Ttulo1"; } else if (line.Contains("[Ttulo2]")) { document.InsertParagraph(line).StyleName = "Ttulo2"; } else if (line.Contains("[citação]")) { document.InsertParagraph(line).StyleName = "Citacao"; } else if (line.Contains("[data]")) { document.InsertParagraph(DateTime.Today.ToString("'Goiânia, 'dd 'de' MMMM 'de' yyyy")).StyleName = "data"; } else { document.InsertParagraph(line).StyleName = "CorpoDeTexto0"; } } //inserir negritos e sublinhados #region var negritos = new Regex(@"\*\*.*?\*\*").Matches(document.Text); foreach (Match negrito in negritos) { document.ReplaceText(negrito.Value, negrito.Value, false, RegexOptions.IgnoreCase, new Formatting() { Bold = true }); } var sublinhados = new Regex(@"__.*?__").Matches(document.Text); foreach (Match sublinhado in sublinhados) { document.ReplaceText(sublinhado.Value, sublinhado.Value, false, RegexOptions.IgnoreCase, new Formatting() { UnderlineStyle = UnderlineStyle.singleLine }); } #endregion //inserir data e assinatura var dataExtenso = DateTime.Today.ToString("'Goiânia, 'dd 'de' MMMM 'de' yyyy"); //apagar marcações #region document.ReplaceText("[Ttulo1]", ""); document.ReplaceText("[Ttulo2]", ""); document.ReplaceText("**", ""); document.ReplaceText("__", ""); document.ReplaceText("[endereçamento]", ""); document.ReplaceText("[qualificação]", ""); document.ReplaceText("[peça]", ""); document.ReplaceText("[fatos]", "Fatos"); document.ReplaceText("[direito]", "Direito"); document.ReplaceText("[pedido]", "Pedido"); document.ReplaceText("[citação]", ""); #endregion foreach (var paragraph in document.Paragraphs) { document.InsertParagraph(paragraph.StyleName); } document.Save(); Process.Start("WINWORD.EXE", filename); } }
private void btnGerarDocX4_Click(object sender, EventArgs e) { //document.InsertParagraph("**" + cliente1.Nome + "**").Append(cliente1.QualificacaoComNomeVazio_).StyleName = "CorpoDeTexto" ; //string peticao = "[endereçamento]\n[qualificação], vêm a digna presença de vossa excelecência propor:\n[nome_peça]\nFatos\nIsso é um fato\nIsso também é um fato"; StringBuilder peticao = new StringBuilder(); peticao.AppendLine("[endereçamento]"); peticao.AppendLine("[qualificação], vêm a digna presença de vossa excelecência propor:"); peticao.AppendLine("[peça]"); peticao.AppendLine("[fatos]"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("[direito]"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("[pedido]"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); //identificar titulo e inserir no rimeiro ragrafo var docLines = peticao.ToString().Split(new string[] { "\r\n" }, System.StringSplitOptions.None); string filename = @"C:\GitHub\Test2.docx"; using (DocX document = DocX.Create(@"C:\GitHub\Test2.docx")) { document.ApplyTemplate(@"C:\GitHub\PeticaoModelo3.docx"); //lavras chave foreach (var line in docLines) { if (line.Contains("[endereçamento]")) { document.InsertParagraph(line).StyleName = "Endereamento"; } else if (line.IndexOf("[qualificação]") > -1) { document.InsertParagraph(line).StyleName = "CorpoDeTexto0"; } else if (line.Contains("[peça]")) { document.InsertParagraph(line).StyleName = "NomeDaPea"; } else if (line.Contains("[fatos]") || line.Contains("[direito]") || line.Contains("[pedido]")) { document.InsertParagraph(line).StyleName = "Ttulo1"; } else { document.InsertParagraph(line).StyleName = "CorpoDeTexto0"; } } //substituir palavras chave string qualificacao = string.Concat("**", cliente1.Nome, "**", " ", cliente1.QualificacaoComNomeVazio_); string enderecamento = "Excelentíssimo Senhor Doutor Juiz de Direito da Comarca de Goiania-GO"; string nomePeca = "Ação Ordinária de Pensão por MORTE pedido"; document.ReplaceText("[endereçamento]", enderecamento.ToUpper()); document.ReplaceText("[qualificação]", qualificacao); document.ReplaceText("[peça]", nomePeca.ToUpper()); document.ReplaceText("[fatos]", "Fatos"); document.ReplaceText("[direito]", "Direito"); document.ReplaceText("[pedido]", "Pedidos"); var fPadrao = new Formatting(); var fPadrao1 = new Formatting() { Size = 14 }; //fPadrao.Size = 14; //fPadrao.UnderlineStyle = UnderlineStyle.singleLine; //document.ReplaceText("(MOR).*", "ABC",false, RegexOptions.IgnoreCase, null, fPadrao); //string s = document.Text; //string[] array = new string[]; string padraoRegex = "/*/*.*/*/*"; var negritos = new List <string>(); document.ReplaceText("morte", "ABC", false, RegexOptions.IgnoreCase, new Formatting() { Size = 10, Bold = true }); foreach (var paragrafo in document.Paragraphs) { document.InsertParagraph(paragrafo.StyleName); } document.Save(); Process.Start("WINWORD.EXE", filename); } }
private void btnGerarDocX5_Click(object sender, EventArgs e) { #region StringBuilder peticao = new StringBuilder(); peticao.AppendLine("[endereçamento]"); peticao.AppendLine("[qualificação], vêm a digna presença de vossa excelecência propor:"); peticao.AppendLine("[peça]"); peticao.AppendLine("[fatos]"); peticao.AppendLine("SubTitulo1\n------"); peticao.AppendLine("Isso é um fato, **isso é um negrito**, isso é um fato, isso é um fato, __isso é um sublinhado__, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("SubTitulo1\n------"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("SubTitulo2\n-------"); peticao.AppendLine("Isso é um fato, **isso é um negrito**, isso é um fato, isso é um fato, __isso é um sublinhado__, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("[direito]"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("[pedido]"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); peticao.AppendLine("Isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato, isso é um fato"); #endregion //identificar titulos #region //identificar titulo1--- e marcar como [Ttulo1] var peticaoComTitulos = Regex.Replace(peticao.ToString(), @"(.*)\n-{3,}\n-{3,}", "[Ttulo1]$0"); //identificar titulo2--- e marcar como [Ttulo2] peticaoComTitulos = Regex.Replace(peticao.ToString(), @".*\n-{3,}", "[Ttulo2]$0"); //remover marcação peticaoComTitulos = Regex.Replace(peticaoComTitulos, @"\n-{3,}", ""); #endregion // split petição por parágrafos #region var docLines = peticaoComTitulos.Split(new string[] { "\r\n" }, System.StringSplitOptions.None); string filename = @"C:\GitHub\Test2.docx"; #endregion //criação do documento using (DocX document = DocX.Create(@"C:\GitHub\Test2.docx")) { document.ApplyTemplate(@"C:\GitHub\PeticaoModelo4.docx"); //remover configurações do tamplate no documento foreach (var paragraph in document.Paragraphs) { paragraph.Remove(false); } //atribuir estilo de acordo com palavras chaves foreach (var line in docLines) { if (line.Contains("[endereçamento]")) { document.InsertParagraph(line).StyleName = "Endereamento"; } else if (line.IndexOf("[qualificação]") > -1) { document.InsertParagraph(line).StyleName = "CorpoDeTexto0"; } else if (line.Contains("[peça]")) { document.InsertParagraph(line).StyleName = "NomeDaPea"; } else if (line.Contains("[fatos]") || line.Contains("[direito]") || line.Contains("[pedido]")) { document.InsertParagraph(line).StyleName = "Ttulo1"; } else if (line.Contains("[Ttulo2]")) { document.InsertParagraph(line).StyleName = "Ttulo2"; } else { document.InsertParagraph(line).StyleName = "CorpoDeTexto0"; } } //substituir palavras chave #region string qualificacao = string.Concat("**", cliente1.Nome, "**", " ", cliente1.QualificacaoComNomeVazio_); string enderecamento = "Excelentíssimo Senhor Doutor Juiz de Direito da Comarca de Goiania-GO"; string nomePeca = "Ação Ordinária de Pensão por MORTE pedido"; document.ReplaceText("[endereçamento]", enderecamento.ToUpper()); document.ReplaceText("[qualificação]", qualificacao); document.ReplaceText("[peça]", nomePeca.ToUpper()); document.ReplaceText("[fatos]", "Fatos"); document.ReplaceText("[direito]", "Direito"); document.ReplaceText("[pedido]", "Pedidos"); #endregion //inserir negritos e sublinhados #region var negritos = new Regex(@"\*\*.*?\*\*").Matches(document.Text); foreach (Match negrito in negritos) { document.ReplaceText(negrito.Value, negrito.Value, false, RegexOptions.IgnoreCase, new Formatting() { Bold = true }); } var sublinhados = new Regex(@"__.*?__").Matches(document.Text); foreach (Match sublinhado in sublinhados) { document.ReplaceText(sublinhado.Value, sublinhado.Value, false, RegexOptions.IgnoreCase, new Formatting() { UnderlineStyle = UnderlineStyle.singleLine }); } #endregion //apagar marcações #region document.ReplaceText("[Ttulo2]", ""); document.ReplaceText("**", ""); document.ReplaceText("__", ""); #endregion document.Save(); Process.Start("WINWORD.EXE", filename); } }
private void btnGerarDocx2_Click(object sender, EventArgs e) { var cliente1 = new Cliente { Nome = "Bruno Valadares do Nascimento", CPF = "011.916.601-17", RG = "2798", Nacionalidade = "brasileiro", EstadoCivil = EstadoCivil.solteiro, Sexo = Sexo.masculino, Logradouro = "Rua 59-A", Numero = 547, Setor = "Aeroporto", Cidade = "Goinaia", Estado = "GO" }; string fontPadrao = "Courier New"; int sizePadrao = 12; var firstLinePadrao = 6.0f; var cliente2 = new Cliente { Nome = "Mario do Carmo", CPF = "011.916.601-17", RG = "2798", Nacionalidade = "brasileiro", EstadoCivil = EstadoCivil.solteiro, Sexo = Sexo.masculino, Logradouro = "Rua 59-A", Numero = 547, Setor = "Aeroporto", Cidade = "Goinaia", Estado = "GO" }; clientes.Add(cliente1); clientes.Add(cliente2); clientes.Add(cliente2); clientes.Add(cliente2); var fPadrao = new Formatting(); fPadrao.Size = 12; fPadrao.FontFamily = new Xceed.Words.NET.Font("Arial"); ; var fPadraoNegrito = new Formatting(); fPadraoNegrito.Size = 12; fPadraoNegrito.FontFamily = new Xceed.Words.NET.Font("Arial"); var filename = @"C:\GitHub\Test2.docx"; using (DocX document = DocX.Create(filename)) { document.ApplyTemplate(@"C:\GitHub\PeticaoModelo3.docx"); Paragraph p1 = document.InsertParagraph(); //document.ReplaceText() //endereçamento var padrao = new Formatting(); padrao.FontFamily = new Xceed.Words.NET.Font("Arial"); padrao.Size = 12; var padraoNegrito = new Formatting(); padraoNegrito.FontFamily = new Xceed.Words.NET.Font("Arial"); padraoNegrito.Size = 12; padraoNegrito.Bold = true;// Xceed.Words.NET.Formatting.; //headLineFormat.Position = 12; string enderecarPara = "JUIZ(A) FEDERAL DA VARA DO JUIZADO ESPECIAL FEDERAL DA SEÇÃO JUDICIÁRIA DO estado de Goiás"; string enderecamento = ("EXCELENTÍSSIMO(A) SENHOR(A) " + enderecarPara).ToUpper(); //p1.Append(enderecamento).Font(fontPadrao).FontSize(tamanhoPadrao).Bold().SpacingAfter(150);7 document.InsertParagraph(enderecamento, false, padraoNegrito).SpacingAfter(150); //document.InsertParagraph(enderecamento).FontSize(12).Font("Arial").Bold().SpacingAfter(150).Alignment = Alignment.right; if (p1.StyleName.Equals("jk")) { p1.StyleName = ""; var estilo = p1.StyleName; } //qualificação string qualificacao = cliente1.Qualificacao_; Paragraph pQUalificacao = document.InsertParagraph(); pQUalificacao.Alignment = Alignment.both; //pQUalificacao.InsertTabStopPosition(Alignment.left, 160f, TabStopPositionLeader.none); pQUalificacao.IndentationFirstLine = firstLinePadrao; //pQUalificacao.InsertTabStopPosition(Alignment.right, 432f, TabStopPositionLeader.none); //pQUalificacao.Append("\t"); pQUalificacao.Append(cliente1.Nome).Font(fontPadrao).FontSize(sizePadrao).Bold(); pQUalificacao.Append(cliente1.QualificacaoComNomeVazio_).Font(fontPadrao).FontSize(sizePadrao); //Parte principal string txt = ", por seu advogado que esta subscreve, vem à presença de Vossa Excelência, com fulcro na Legislação Pátria, propor a presente:"; pQUalificacao.Append(txt).Font(fontPadrao).FontSize(sizePadrao); pQUalificacao.SetLineSpacing(LineSpacingType.Line, 1.5f); //ação txt = "ação de execução de título extrajudicial".ToUpper(); Paragraph pAcao = document.InsertParagraph(); pAcao.Append(txt).Font(fontPadrao).FontSize(sizePadrao).Bold().SpacingBefore(30).SpacingAfter(30); //em face de //var p = document.InsertParagraph(); //p.Append("em face de: ").Font(fontPadrao).FontSize(tamanhoPadrao).Bold(); //parte aAdversa Paragraph pParteAdversa = document.InsertParagraph(); pParteAdversa.Alignment = Alignment.both; //insira quantas partes houverem var p = document.InsertParagraph(); for (int i = 0; i < clientes.Count; ++i) { pParteAdversa = document.InsertParagraph(); pParteAdversa.IndentationFirstLine = firstLinePadrao; pParteAdversa.Alignment = Alignment.both; if (i == 0) { pParteAdversa.Append("em face de: ").Font(fontPadrao).FontSize(sizePadrao).Bold(); } pParteAdversa.Append(clientes[i].Nome).Font(fontPadrao).FontSize(sizePadrao).Bold(); pParteAdversa.Append(clientes[i].QualificacaoComNomeVazio_).Font(fontPadrao).FontSize(sizePadrao); var pontuacao = (clientes.Count - i > 1) ? ";" : "."; pParteAdversa.SetLineSpacing(LineSpacingType.Line, 1.5f); pParteAdversa.Append(pontuacao); } //FATOS //Cabeçalho document.InsertParagraph("DOS FATOS").FontSize(sizePadrao).Font(fontPadrao).Bold().SpacingAfter(0).Alignment = Alignment.left; txt = "Linha1-ação de execução de título extrajudicial de quem apenas gosta de jogar bola e não quer saber de nada que a banda toca. \nLinha2- mas se vc sabe onde estou então estamos bem.\nLinha3 aqui."; var docLines = txt.Split(new string[] { "\n" }, System.StringSplitOptions.None); var pFatos = document.InsertParagraph(); foreach (var line in docLines) { pFatos = document.InsertParagraph(); pFatos.Alignment = Alignment.both; pFatos.Append(line).Font(fontPadrao).FontSize(sizePadrao).IndentationFirstLine = firstLinePadrao; pFatos.SetLineSpacing(LineSpacingType.Line, 1.5f); } //PEDIDOS //Cabeçalho document.InsertParagraph("DOS PEDIDOS").FontSize(sizePadrao).Font(fontPadrao).Bold().SpacingAfter(0).Alignment = Alignment.left; txt = "A) Este é o pedido 1\nB) Este é o pedido 2\nC) Este é o pedido 3."; docLines = txt.Split(new string[] { "\n" }, System.StringSplitOptions.None); foreach (var line in docLines) { var pPedido = document.InsertParagraph(); pPedido.Alignment = Alignment.both; pPedido.Append(line).Font(fontPadrao).FontSize(sizePadrao).IndentationFirstLine = firstLinePadrao; pPedido.SetLineSpacing(LineSpacingType.Line, 1.5f); } //DATA E ASSINATURA //Cabeçalho //data var data = string.Concat("Goiânia, ", DateTime.Today.ToString("dd"), " de ", DateTime.Today.ToString("MMMM"), " de ", DateTime.Today.ToString("yyyy"), "."); document.InsertParagraph(data).FontSize(sizePadrao).Font(fontPadrao).SpacingBefore(30).Alignment = Alignment.center; // document.InsertParagraph(data).FontSize(sizePadrao).Font(fontPadrao).SpacingBefore(30).Alignment = Alignment.center; //assinatura document.InsertParagraph("Paulo do Nascimento").FontSize(sizePadrao).Font(fontPadrao).SpacingBefore(15).SpacingAfter(1).Alignment = Alignment.center; document.InsertParagraph("OAB/GO 33863").FontSize(sizePadrao).Font(fontPadrao).SpacingBefore(1).Alignment = Alignment.center; //remover paragrafos vazios var emptyLines = document.Paragraphs.Where(o => string.IsNullOrEmpty(o.Text)); foreach (var paragraph in emptyLines) { paragraph.Remove(false); } document.Save(); Process.Start("WINWORD.EXE", filename); } }
private void btnGerarDocX3_Click(object sender, EventArgs e) { string fontPadrao = "Verdana"; int sizePadrao = 12; var firstLinePadrao = 6.0f; string enderecarPara = "EXCELENTÍSSIMO(A) SENHOR(A) JUIZ(A) FEDERAL DA VARA DO JUIZADO ESPECIAL FEDERAL DA SEÇÃO JUDICIÁRIA DO estado de Goiás".ToUpper(); //string quaflicação = string filename = @"C:\GitHub\Test2.docx"; using (DocX document = DocX.Create(filename)) { document.ApplyTemplate(@"C:\GitHub\PeticaoModelo3.docx"); //endereçamento document.InsertParagraph(enderecarPara).SpacingAfter(150).Font(fontPadrao).FontSize(sizePadrao); Paragraph p = document.InsertParagraph(enderecarPara.ToUpper()); p.SpacingAfter(150).Alignment = Alignment.left; //p.StyleName = "Normal"; p.IndentationFirstLine = 0.0f; //qualificação document.InsertParagraph("**" + cliente1.Nome + "**").Append(cliente1.QualificacaoComNomeVazio_).StyleName = "normal"; //Paragraph pQUalificacao = document.InsertParagraph("**" + cliente1.Nome + "**").Append(cliente1.QualificacaoComNomeVazio_).StyleName = "normal"; //pQUalificacao.Append(cliente1.QualificacaoComNomeVazio_).StyleName = "normal"; //Parte principal string txt = ", por seu advogado que esta subscreve, vem à presença de Vossa Excelência, com fulcro na Legislação Pátria, propor a presente:"; //pQUalificacao.Append(txt); //ação txt = "ação de execução de título extrajudicial".ToUpper(); document.InsertParagraph(txt).SpacingBefore(30).SpacingAfter(30).Font(fontPadrao).FontSize(sizePadrao); //pAcao.StyleName = "normal"; //FATOS //Cabeçalho //document.InsertParagraph("DOS FATOS").FontSize(sizePadrao).Font(fontPadrao).Bold().SpacingAfter(0).Alignment = Alignment.left; document.InsertParagraph("DOS FATOS").StyleName = "Ttulo1"; txt = "Linha1-ação de execução de título extrajudicial de quem apenas gosta de jogar bola e não quer saber de nada que a banda toca. \nLinha2- mas se vc sabe onde estou então estamos bem.\nLinha3 aqui."; var docLines = txt.Split(new string[] { "\n" }, System.StringSplitOptions.None); foreach (var line in docLines) { document.InsertParagraph(line).StyleName = "Normal"; } //CONFIGURAR titulo 1 Ttulo2 /* * foreach (var paragrafo in document.Paragraphs) * { * * if (paragrafo.StyleName == "Ttulo1") * { * paragrafo.Font("Verdana").FontSize(18).IndentationFirstLine = firstLinePadrao; * paragrafo.Alignment = Alignment.both; * paragrafo.SetLineSpacing(LineSpacingType.Line, 1.5f); * } * } */ //CONFIGURAR normal foreach (var paragrafo in document.Paragraphs) { if (paragrafo.StyleName == "normalização") { paragrafo.Font("Verdana").FontSize(12).IndentationFirstLine = firstLinePadrao; paragrafo.Alignment = Alignment.both; paragrafo.SetLineSpacing(LineSpacingType.Line, 1.5f); } } foreach (var paragrafo in document.Paragraphs) { document.InsertParagraph(paragrafo.StyleName); } document.Save(); Process.Start("WINWORD.EXE", filename); } }
/// <summary> /// Gera certificado para todos os alunos que tiverem 100% de presença no evento /// </summary> /// <param name="idEvento">evento desejado</param> /// <returns></returns> public static bool GeraCertificado(int idEvento) { AlunoRepository ar = new AlunoRepository(); Evento ev = eventoRepository.GetEventoById(idEvento); bool flag = true; string templatePath = caminhoTemplates + "template-certificado.docx"; //caminhoDoTemplate List <Documento> certificadosDoc = new List <Documento>(); var template = new FileStream(templatePath, FileMode.Open, FileAccess.Read); List <Aluno> alunos = eventoRepository.GetAlunosPresentes(ev); //alunos com presença foreach (Aluno al in alunos) { string curso = al.AlunoCurso.Select(x => x.Curso.Nome).FirstOrDefault().ToString(); string novoArquivo = CriaDiretorio(new string[] { curso, al.IdAluno.ToString(), "Certificado" }); novoArquivo = novoArquivo + "(" + al.IdUsuario + ") " + ev.IdEvento + " - " + "temp" + ev.NomeEvento + ".docx"; Documento documento = new Documento(); TipoDocumento tipoDoc = tipoDocumentoRepository.GetTipoDoc("Certificado"); documento.IdTipoDoc = tipoDoc.IdTipoDoc; documento.NomeDocumento = "(" + al.IdUsuario + ") " + ev.IdEvento + " - " + "temp" + ev.NomeEvento + ".pdf"; documento.Data = DateTime.Now; documento.IdAlunoCurso = al.AlunoCurso.Select(x => x.IdAlunoCurso).FirstOrDefault(); documento.IdEvento = ev.IdEvento; if (File.Exists(Path.ChangeExtension(novoArquivo, ".pdf"))) { // certificadosDoc.Add(documento); } else { { #region substitui informaçoes seguindo a template DocX doc = DocX.Create(novoArquivo); doc.ApplyTemplate(template, true); if (doc.Text.Contains("<NOME>")) { doc.ReplaceText("<NOME>", al.Usuario.Nome); } if (doc.Text.Contains("<EVENTO>")) { doc.ReplaceText("<EVENTO>", ev.NomeEvento); } if (doc.Text.Contains("<HORAS>")) { doc.ReplaceText("<HORAS>", ev.CargaHoraria.ToString()); } if (doc.Text.Contains("<DIA>")) { doc.ReplaceText("<DIA>", DateTime.Now.Day.ToString()); } if (doc.Text.Contains("<MES>")) { string mes = DateTime.Now.ToString("MMMM", CultureInfo.CreateSpecificCulture("pt-BR")); doc.ReplaceText("<MES>", mes); } if (doc.Text.Contains("<ANO>")) { doc.ReplaceText("<ANO>", DateTime.Now.Year.ToString()); } doc.Save(); doc.Dispose(); Document pdf = new Document(); pdf.LoadFromFile(novoArquivo); File.Delete(novoArquivo); novoArquivo = Path.ChangeExtension(novoArquivo, ".pdf"); pdf.SaveToFile(novoArquivo, FileFormat.PDF); } #region criptografa certificado try { string caminhonovo = novoArquivo.Replace("temp", ""); FileStream fs = new FileStream(caminhonovo, FileMode.Create); byte[] arquivo = File.ReadAllBytes(novoArquivo); File.Delete(novoArquivo); RijndaelManaged rmCryp = new RijndaelManaged(); CryptoStream cs = new CryptoStream(fs, rmCryp.CreateEncryptor(Key, Key), CryptoStreamMode.Write); foreach (var data in arquivo) { cs.WriteByte((byte)data); } cs.Close(); fs.Close(); documento.CaminhoDocumento = caminhonovo; certificadosDoc.Add(documento); ar.AdicionaHoras(ev.CargaHoraria, al.IdAluno, ev.IdEvento); } catch (Exception e) { flag = false; } #endregion #endregion } } if (!documentoRepository.PersisteCertificados(certificadosDoc)) { flag = false; } else { } return(flag); }