/// <summary> /// Create a read only document that can be edited by stopping the protection. /// </summary> public static void AddProtection() { Console.WriteLine("\tAddProtection()"); // Create a new document. using (DocX document = DocX.Create(ProtectionSample.ProtectionSampleOutputDirectory + @"AddProtection.docx")) { // Add a title. document.InsertParagraph("Document protection not using password").FontSize(15d).SpacingAfter(50d).Alignment = Alignment.center; // Insert a Paragraph into this document. var p = document.InsertParagraph(); // Append some text and add formatting. p.Append("This document is protected and can only be edited by stopping its protection.") .Font(new Font("Arial")) .FontSize(25) .Color(Color.Red) .Bold(); document.AddProtection(EditRestrictions.readOnly); // Save this document to disk. document.Save(); Console.WriteLine("\tCreated: AddProtection.docx\n"); } }
private void WriteClients(string fileName) { DocX doc = DocX.Create(fileName); for (int i = 0; i < data.RowCount; i++) { if (Convert.ToBoolean(data[checkBoxColumnIndex, i].Value)) { Paragraph paragraph = doc.InsertParagraph(); paragraph.Alignment = Alignment.right; paragraph.AppendLine("ElecPair").Font("Arial Black").FontSize(16).UnderlineStyle(UnderlineStyle.singleLine).Highlight(Highlight.magenta);; paragraph.AppendLine($"(29) 970 - 14 - 80\r\[email protected]").Font("Arial Black").FontSize(12); doc.InsertParagraph($"Клиент: {data[1, i].Value}").Font("Arial Black").FontSize(14); doc.InsertParagraph($"Телефон: {data[2, i].Value}").Font("Arial Black").FontSize(14); doc.InsertParagraph($"Сотрудник: {userFullName}").Font("Arial Black").FontSize(14); doc.InsertParagraph($"Дата принятия в ремонт: {data[3, i].Value}").Font("Arial Black").FontSize(12); Table table = doc.AddTable(4, 2); table.Design = TableDesign.TableGrid; table.Rows[0].Cells[0].Paragraphs[0].Append("Принятое оборудование").Font("Arial").Bold(); table.Rows[1].Cells[0].Paragraphs[0].Append("Заявленная неисправность").Font("Arial").Bold(); table.Rows[2].Cells[0].Paragraphs[0].Append("Вид работ").Font("Arial").Bold(); table.Rows[3].Cells[0].Paragraphs[0].Append("Сумма, руб").Font("Arial").Bold(); table.Rows[0].Cells[1].Paragraphs[0].Append(data[5, i].Value.ToString()).Font("Arial"); table.Rows[1].Cells[1].Paragraphs[0].Append(data[6, i].Value.ToString()).Font("Arial"); table.Rows[2].Cells[1].Paragraphs[0].Append(data[7, i].Value.ToString()).Font("Arial"); table.Rows[3].Cells[1].Paragraphs[0].Append(data[8, i].Value.ToString()).Font("Arial"); doc.InsertParagraph().InsertTableAfterSelf(table); doc.InsertParagraph($"Дата выдачи: {data[4, i].Value}").Font("Arial Black").FontSize(12);; } } doc.AddProtection(EditRestrictions.readOnly); doc.Save(); }///////////Создание файла и запись информации о клиентах
}///////////Создание файла и запись информации о клиентах private void WriteService(string fileName) { int checkedRowsCount = 0; for (int i = 0; i < data.RowCount; i++) { if (Convert.ToBoolean(data[checkBoxColumnIndex, i].Value)) { checkedRowsCount++; } } DocX doc = DocX.Create(fileName); Paragraph paragraph = doc.InsertParagraph(); paragraph.Alignment = Alignment.right; paragraph.AppendLine("ElecPair").Font("Arial Black").FontSize(16).UnderlineStyle(UnderlineStyle.singleLine).Highlight(Highlight.magenta); paragraph.AppendLine($"(29) 970 - 14 - 80\r\[email protected]").Font("Arial Black").FontSize(12); Table table = doc.AddTable(checkedRowsCount + 1, 3); table.Design = TableDesign.TableGrid; table.Rows[0].Cells[0].Paragraphs[0].Append("Тип оборудования").Font("Arial").Bold(); table.Rows[0].Cells[1].Paragraphs[0].Append("Вид работ").Font("Arial").Bold(); table.Rows[0].Cells[2].Paragraphs[0].Append("Стоимость, руб").Font("Arial").Bold(); int index = 1; for (int i = 0; i < checkedRowsCount; i++) { table.Rows[index].Cells[0].Paragraphs[0].Append(data[1, i].Value.ToString()).Font("Arial"); table.Rows[index].Cells[1].Paragraphs[0].Append(data[2, i].Value.ToString()).Font("Arial"); table.Rows[index].Cells[2].Paragraphs[0].Append(data[3, i].Value.ToString()).Font("Arial"); index++; } doc.InsertParagraph().InsertTableAfterSelf(table); doc.AddProtection(EditRestrictions.readOnly); doc.Save(); }//////////Создание файла и запись информации об услугах
static public void ReporteCliente(ArrayList _clientes, double[,] _saldos) { string _nombreSalida = @".\Reportes\ReporteDiayHora" + DateTime.Now.ToString("mm-dd-yy-hh-mm") + ".docx"; Formatting _formatoTitulo = new Formatting(); DocX _doc = DocX.Create(_nombreSalida); // Titulo _formatoTitulo.Size = 18D; _formatoTitulo.Position = 12; _formatoTitulo.FontColor = Color.Black; Paragraph _parrafotitulo = _doc.InsertParagraph("Reporte de clientes al dia " + DateTime.Now.ToString("mm-dd-yy"), false, _formatoTitulo); _parrafotitulo.Alignment = Alignment.left; Table _reporte = _doc.AddTable(_clientes.Count + 1, 4); _reporte.Rows[0].Cells[0].Paragraphs.First().Append("ID Cliente"); _reporte.Rows[0].Cells[1].Paragraphs.First().Append("Nombre Cliente"); _reporte.Rows[0].Cells[2].Paragraphs.First().Append("Saldo Actual"); _reporte.Rows[0].Cells[3].Paragraphs.First().Append("Saldo Vencido"); for (int i = 1; i < _clientes.Count + 1; i++) { Cliente _aux = ((Cliente)_clientes[i - 1]); _reporte.Rows[i].Cells[0].Paragraphs.First().Append(_aux.Id_Cliente); _reporte.Rows[i].Cells[1].Paragraphs.First().Append(_aux.Nombre + " " + _aux.Apellido); _reporte.Rows[i].Cells[2].Paragraphs.First().Append(_saldos[i - 1, 0].ToString()); _reporte.Rows[i].Cells[3].Paragraphs.First().Append(_saldos[i - 1, 1].ToString()); } _reporte.AutoFit = AutoFit.Contents; _reporte.Design = TableDesign.ColorfulGridAccent5; _doc.InsertTable(_reporte); //Proteccion y guardado _doc.AddProtection(EditRestrictions.readOnly); _doc.Save(); Process.Start(_nombreSalida); }
static public void GenerarNota(Nota _nota, Cliente _cli) { string _nombreSalida = @".\Notas\" + _nota.Id_Nota + _nota.Id_Cliente + _nota.Fecha_Inicio.ToString("mm-dd-yy-hh-mm") + ".docx"; Formatting _formatoTitulo = new Formatting(); DocX _doc = DocX.Create(_nombreSalida); //Logo Paragraph _logo = _doc.InsertParagraph(""); Novacode.Image _img = _doc.AddImage(@".\logo.jpg"); Picture _pic = _img.CreatePicture(); _pic.Width = 100; _pic.Height = 50; _logo.Alignment = Alignment.right; _logo.InsertPicture(_pic, 0); // Titulo _formatoTitulo.Size = 20D; _formatoTitulo.Position = 12; _formatoTitulo.FontColor = Color.DarkBlue; Paragraph _parrafotitulo = _doc.InsertParagraph("BOLSAS DESECHABLES EXPRESS", false, _formatoTitulo); _parrafotitulo.Alignment = Alignment.center; //Lema Formatting _formatoLema = new Formatting(); _formatoLema.Size = 14D; _formatoLema.FontColor = Color.Blue; _formatoLema.UnderlineStyle = UnderlineStyle.singleLine; Paragraph _lema = _doc.InsertParagraph("Llevamos tu pedido en un dos por tres..." + Environment.NewLine, false, _formatoLema); _lema.Alignment = Alignment.center; //Informacion general Pedido Formatting _formatoGeneral = new Formatting(); _formatoGeneral.Size = 12D; _formatoGeneral.FontColor = Color.Black; Paragraph _pedido = _doc.InsertParagraph("Nombre del cliente: " + _cli.Nombre + " " + _cli.Apellido + Environment.NewLine + "Cliente ID: " + _cli.Id_Cliente + Environment.NewLine + "Direccion: " + _cli.Direccion + Environment.NewLine + "Precio Total: " + _nota.Cantidad.ToString("n2") + Environment.NewLine + "Fecha del Pedido: " + _nota.Fecha_Inicio + Environment.NewLine + "Fecha de Entrega: " + _nota.Fecha_Vencimiento + Environment.NewLine + "Pedido ID: " + _nota.Id_Pedido + Environment.NewLine + Environment.NewLine + "Abonos de la Nota: " + Environment.NewLine, false, _formatoGeneral); _pedido.Alignment = Alignment.left; // Tabla de Abonos Table _productos = _doc.AddTable(10, 3); _productos.Rows[0].Cells[0].Paragraphs.First().Append("No"); _productos.Rows[0].Cells[1].Paragraphs.First().Append("Cantidad"); _productos.Rows[0].Cells[2].Paragraphs.First().Append("Fecha"); for (int i = 1; i < 10; i++) { _productos.Rows[i].Cells[0].Paragraphs.First().Append(i.ToString()); _productos.Rows[i].Cells[1].Paragraphs.First().Append(" "); _productos.Rows[i].Cells[2].Paragraphs.First().Append(" "); } _productos.Design = TableDesign.LightGridAccent5; _productos.AutoFit = AutoFit.ColumnWidth; _productos.Alignment = Alignment.center; _doc.InsertTable(_productos); _formatoLema.FontColor = Color.Black; string _textCliente = "Firma de Recibido:" + Environment.NewLine + " _____________________"; Paragraph _parrafoCliente = _doc.InsertParagraph(_textCliente, false, _formatoLema); _parrafoCliente.Alignment = Alignment.right; //Proteccion y guardado _doc.AddProtection(EditRestrictions.readOnly); _doc.Save(); Process.Start(_nombreSalida); }
static public void GenerrListaProductos(ArrayList _productos)//General lista de productos { string _nombreSalida = @".\Productos\ListaDeProductos" + DateTime.Now.ToString("mm-dd-yy-hh-mm") + ".docx"; Formatting _formatoTitulo = new Formatting(); DocX _doc = DocX.Create(_nombreSalida); //Logo Paragraph _logo = _doc.InsertParagraph(""); Novacode.Image _img = _doc.AddImage(@".\logo.jpg"); Picture _pic = _img.CreatePicture(); _pic.Width = 100; _pic.Height = 50; _logo.Alignment = Alignment.right; _logo.InsertPicture(_pic, 0); // Titulo _formatoTitulo.Size = 20D; _formatoTitulo.FontColor = Color.DarkBlue; Paragraph _parrafotitulo = _doc.InsertParagraph("BOLSAS DESECHABLES EXPRESS", false, _formatoTitulo); _parrafotitulo.Alignment = Alignment.center; //Lema Formatting _formatoLema = new Formatting(); _formatoLema.Size = 14D; _formatoLema.FontColor = Color.Blue; _formatoLema.UnderlineStyle = UnderlineStyle.singleLine; Paragraph _lema = _doc.InsertParagraph("Llevamos tu pedido en un dos por tres..." + Environment.NewLine, false, _formatoLema); _lema.Alignment = Alignment.center; Formatting _formatoInfo = new Formatting(); _formatoInfo.Size = 16D; _formatoInfo.FontColor = Color.Black; Paragraph _info = _doc.InsertParagraph("Precio de los Productos al dia: " + DateTime.Now.ToString() + Environment.NewLine); _info.Alignment = Alignment.center; //tabla pedidos Table _tabla = _doc.AddTable(_productos.Count + 1, 4); _tabla.Rows[0].Cells[0].Paragraphs.First().Append("Producto id"); _tabla.Rows[0].Cells[1].Paragraphs.First().Append("Nombre"); _tabla.Rows[0].Cells[2].Paragraphs.First().Append("Precio General"); _tabla.Rows[0].Cells[3].Paragraphs.First().Append("Tipo"); for (int i = 1; i < _productos.Count + 1; i++) { Producto _aux = ((Producto)_productos[i - 1]); _tabla.Rows[i].Cells[0].Paragraphs.First().Append(_aux.Id_Producto.ToString()); _tabla.Rows[i].Cells[1].Paragraphs.First().Append(_aux.Nombre); _tabla.Rows[i].Cells[2].Paragraphs.First().Append(_aux.Precio_General.ToString("n2")); _tabla.Rows[i].Cells[3].Paragraphs.First().Append(_aux.Acumulacion[_aux.Tipo]); } _tabla.Design = TableDesign.ColorfulGridAccent5; _tabla.Alignment = Alignment.center; _tabla.AutoFit = AutoFit.Contents; _doc.InsertTable(_tabla); //Proteccion y guardado _doc.AddProtection(EditRestrictions.readOnly); _doc.Save(); Process.Start(_nombreSalida); }
public static void GenerarPedido(Pedido _ped, Cliente _cli)//Generar pedido cuando se realiza { string _nombreSalida = @".\Pedidos\" + _ped.Id_Pedido + _ped.Id_Cliente + _ped.Fecha_Pedido.ToString("mm-dd-yy-hh-mm") + ".docx"; Formatting _formatoTitulo = new Formatting(); DocX _doc = DocX.Create(_nombreSalida); //Logo Paragraph _logo = _doc.InsertParagraph(""); Novacode.Image _img = _doc.AddImage(@".\logo.jpg"); Picture _pic = _img.CreatePicture(); _pic.Width = 100; _pic.Height = 50; _logo.Alignment = Alignment.right; _logo.InsertPicture(_pic, 0); // Titulo _formatoTitulo.Size = 20D; _formatoTitulo.Position = 12; _formatoTitulo.FontColor = Color.DarkBlue; Paragraph _parrafotitulo = _doc.InsertParagraph("BOLSAS DESECHABLES EXPRESS", false, _formatoTitulo); _parrafotitulo.Alignment = Alignment.center; //Lema Formatting _formatoLema = new Formatting(); _formatoLema.Size = 14D; _formatoLema.FontColor = Color.Blue; _formatoLema.UnderlineStyle = UnderlineStyle.singleLine; Paragraph _lema = _doc.InsertParagraph("Llevamos tu pedido en un dos por tres..." + Environment.NewLine, false, _formatoLema); _lema.Alignment = Alignment.center; //Informacion general Pedido Formatting _formatoGeneral = new Formatting(); _formatoGeneral.Size = 12D; _formatoGeneral.FontColor = Color.Black; Paragraph _pedido = _doc.InsertParagraph("Nombre del cliente: " + _cli.Nombre + " " + _cli.Apellido + Environment.NewLine + "Cliente ID: " + _cli.Id_Cliente + Environment.NewLine + "Direccion: " + _cli.Direccion + Environment.NewLine + "Pedido ID: " + _ped.Id_Pedido + " Precio Total: " + _ped.Precio_Total.ToString("n2") + Environment.NewLine + "Fecha del Pedido: " + _ped.Fecha_Pedido + Environment.NewLine + "Fecha de Entrega: " + _ped.Fecha_Entrega + Environment.NewLine + "Repartidor ID: " + _ped.Id_Repartidor + Environment.NewLine + Environment.NewLine + "Productos del Pedido: " + Environment.NewLine, false, _formatoGeneral); _pedido.Alignment = Alignment.left; // Tabla de productos Table _productos = _doc.AddTable(_ped.Productos.Count + 1, 6); _productos.Rows[0].Cells[0].Paragraphs.First().Append("ID"); _productos.Rows[0].Cells[1].Paragraphs.First().Append("Nombre"); _productos.Rows[0].Cells[2].Paragraphs.First().Append("Precio"); _productos.Rows[0].Cells[3].Paragraphs.First().Append("Cantidad"); _productos.Rows[0].Cells[4].Paragraphs.First().Append("Total"); _productos.Rows[0].Cells[5].Paragraphs.First().Append("Tipo"); for (int i = 1; i < _ped.Productos.Count + 1; i++) { Producto _aux = ((Producto)_ped.Productos[i - 1]); _productos.Rows[i].Cells[0].Paragraphs.First().Append(_aux.Id_Producto.ToString()); _productos.Rows[i].Cells[1].Paragraphs.First().Append(_aux.Nombre); _productos.Rows[i].Cells[2].Paragraphs.First().Append(_aux.Precio_General.ToString("n2")); _productos.Rows[i].Cells[3].Paragraphs.First().Append(_aux.Cantidad.ToString()); _productos.Rows[i].Cells[4].Paragraphs.First().Append((_aux.Cantidad * _aux.Precio_General).ToString("n2")); _productos.Rows[i].Cells[5].Paragraphs.First().Append(_aux.Acumulacion[_aux.Tipo]); } _productos.Design = TableDesign.LightGridAccent5; _productos.AutoFit = AutoFit.Contents; _productos.Alignment = Alignment.center; _doc.InsertTable(_productos); _formatoLema.FontColor = Color.Black; string _textCliente = "Firma de Recibido:" + Environment.NewLine + "____________________"; Paragraph _parrafoCliente = _doc.InsertParagraph(_textCliente, false, _formatoLema); _parrafoCliente.Alignment = Alignment.right; //Proteccion y guardado _doc.AddProtection(EditRestrictions.readOnly); _doc.Save(); Process.Start(_nombreSalida); }
static public void GenerarListaPedidos(ArrayList _pedidos, Repartidor _repartidor)//Imprimir pedidos de un repartidor { string _nombreSalida = @".\Repartidores\" + _repartidor.Id_Repartidor + _repartidor.Nombre + _repartidor.Apellido + DateTime.Now.ToString("mm-dd-yy-hh-mm") + ".docx"; Formatting _formatoTitulo = new Formatting(); DocX _doc = DocX.Create(_nombreSalida); //Logo Paragraph _logo = _doc.InsertParagraph(""); Novacode.Image _img = _doc.AddImage(@".\logo.jpg"); Picture _pic = _img.CreatePicture(); _pic.Width = 100; _pic.Height = 50; _logo.Alignment = Alignment.right; _logo.InsertPicture(_pic, 0); // Titulo _formatoTitulo.Size = 20D; _formatoTitulo.FontColor = Color.DarkBlue; Paragraph _parrafotitulo = _doc.InsertParagraph("BOLSAS DESECHABLES EXPRESS", false, _formatoTitulo); _parrafotitulo.Alignment = Alignment.center; //Lema Formatting _formatoLema = new Formatting(); _formatoLema.Size = 14D; _formatoLema.FontColor = Color.Blue; _formatoLema.UnderlineStyle = UnderlineStyle.singleLine; Paragraph _lema = _doc.InsertParagraph("Llevamos tu pedido en un dos por tres..." + Environment.NewLine, false, _formatoLema); _lema.Alignment = Alignment.center; //Datos Repartidor string _textoRepartidor = "Nombre del Repartidor: " + _repartidor.Nombre + " " + _repartidor.Apellido + Environment.NewLine + " Repartidor ID: " + _repartidor.Id_Repartidor + Environment.NewLine + " Telefono: " + _repartidor.Telefono + Environment.NewLine; Formatting _formatoRepartidor = new Formatting(); _formatoRepartidor.FontColor = Color.Black; _formatoRepartidor.Size = 12D; Paragraph _parrafoRepartidor = _doc.InsertParagraph(_textoRepartidor, false, _formatoRepartidor); _parrafoRepartidor.Alignment = Alignment.left; //tabla pedidos Table _tabla = _doc.AddTable(_pedidos.Count + 1, 5); _tabla.Rows[0].Cells[0].Paragraphs.First().Append("Pedido id"); _tabla.Rows[0].Cells[1].Paragraphs.First().Append("Fecha Pedido"); _tabla.Rows[0].Cells[2].Paragraphs.First().Append("Fecha entrega"); _tabla.Rows[0].Cells[3].Paragraphs.First().Append("Precio Total"); _tabla.Rows[0].Cells[4].Paragraphs.First().Append("Contado"); double _precioTotal = 0; for (int i = 1; i < _pedidos.Count + 1; i++) { Pedido _aux = ((Pedido)_pedidos[i - 1]); _tabla.Rows[i].Cells[0].Paragraphs.First().Append(_aux.Id_Pedido.ToString()); _tabla.Rows[i].Cells[1].Paragraphs.First().Append(_aux.Fecha_Pedido.ToString()); _tabla.Rows[i].Cells[2].Paragraphs.First().Append(_aux.Fecha_Entrega.ToString()); _tabla.Rows[i].Cells[3].Paragraphs.First().Append(_aux.Precio_Total.ToString("n2")); _tabla.Rows[i].Cells[4].Paragraphs.First().Append(_aux.Contado == true?"NO":"SI"); _precioTotal += _aux.Precio_Total; } _tabla.Design = TableDesign.ColorfulGridAccent5; _tabla.Alignment = Alignment.left; _tabla.AutoFit = AutoFit.Contents; _doc.InsertTable(_tabla); Paragraph _total = _doc.InsertParagraph(Environment.NewLine + "Total de los pedidos: " + _precioTotal.ToString("n2")); _total.Alignment = Alignment.right; _formatoLema.FontColor = Color.Black; _formatoLema.Size = 10D; string _textCliente = "Firma de Recibido:" + Environment.NewLine + " __________________________"; Paragraph _parrafoCliente = _doc.InsertParagraph(_textCliente, false, _formatoLema); _parrafoCliente.Alignment = Alignment.right; //Proteccion y guardado _doc.AddProtection(EditRestrictions.readOnly); _doc.Save(); Process.Start(_nombreSalida); }