public virtual void HyphenSymbolTest01()
        {
            String      outFileName = destinationFolder + "hyphenSymbolTest01.pdf";
            String      cmpFileName = sourceFolder + "cmp_hyphenSymbolTest01.pdf";
            PdfDocument pdfDoc      = new PdfDocument(new PdfWriter(outFileName));
            Document    doc         = new Document(pdfDoc);
            PdfFont     font        = PdfFontFactory.CreateFont(fontsFolder + "FreeSans.ttf", PdfEncodings.IDENTITY_H, true);
            Style       style       = new Style();

            style.SetBorder(new SolidBorder(ColorConstants.BLACK, 1));
            style.SetHyphenation(new HyphenationConfig("en", "EN", 2, 2));
            style.SetFont(font);
            style.SetBackgroundColor(ColorConstants.RED);
            doc.Add(new Paragraph("tre\u2011").SetWidth(19).AddStyle(style));
            doc.Add(new Paragraph("tre\u2011\u2011").SetWidth(19).AddStyle(style));
            doc.Add(new Paragraph("r\u2011\u2011m").SetWidth(19).AddStyle(style));
            doc.Add(new Paragraph("r\u2011\u2011\u2011\u2011\u2011\u2011mmma").SetWidth(19).AddStyle(style));
            style.SetBackgroundColor(ColorConstants.BLUE);
            doc.Add(new Paragraph("tre\u2011\u2011").SetWidth(22).AddStyle(style));
            doc.Add(new Paragraph("tre\u2011\u2011m").SetWidth(22).AddStyle(style));
            doc.Add(new Paragraph("\n\n\n"));
            style.SetBackgroundColor(ColorConstants.GREEN);
            doc.Add(new Paragraph("e\u2011\u2011m\u2011ma").SetWidth(20).AddStyle(style));
            doc.Add(new Paragraph("tre\u2011\u2011m\u2011ma").SetWidth(20).AddStyle(style));
            doc.Add(new Paragraph("tre\u2011\u2011m\u2011ma").SetWidth(35).AddStyle(style));
            doc.Add(new Paragraph("tre\u2011\u2011m\u2011ma").SetWidth(40).AddStyle(style));
            style.SetBackgroundColor(ColorConstants.YELLOW);
            doc.Add(new Paragraph("ar\u2011ma").SetWidth(22).AddStyle(style));
            doc.Add(new Paragraph("ar\u2011ma").SetWidth(15).AddStyle(style));
            doc.Add(new Paragraph("ar\u2011").SetWidth(14).AddStyle(style));
            doc.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outFileName, cmpFileName, destinationFolder
                                                                             , "diff"));
        }
예제 #2
0
        public static async Task CrearGraficosIndividualesEnPdf_7(Document doc, ListCollectionView lista, DateTime fecha)
        {
            await Task.Run(() => {
                int indice = 1;
                double num = 1;
                foreach (object obj in lista)
                {
                    double valor = num / lista.Count * 100;
                    App.Global.ValorBarraProgreso = valor;
                    num++;
                    Grafico g = obj as Grafico;
                    if (g == null)
                    {
                        continue;
                    }
                    if (indice > 1)
                    {
                        doc.Add(new AreaBreak(AreaBreakType.NEXT_PAGE));
                    }
                    // Creamos la tabla de título
                    //Table tablaTitulo = PdfTools.GetTablaTitulo($"{fecha:dd - MMMM - yyyy}".ToUpper(), App.Global.CentroActual.ToString().ToUpper());
                    string textoTitulo = $"{fecha:dd - MMMM - yyyy}\n{App.Global.CentroActual}".ToUpper();
                    iText.Layout.Style estiloTitulo = new iText.Layout.Style();
                    estiloTitulo.SetFontSize(12).SetBold();
                    estiloTitulo.SetMargins(0, 0, 6, 0);
                    estiloTitulo.SetPadding(0);
                    estiloTitulo.SetWidth(UnitValue.CreatePercentValue(100));
                    estiloTitulo.SetBorder(iText.Layout.Borders.Border.NO_BORDER);
                    Table tablaTitulo = InformesServicio.GetTablaEncabezadoSindicato(textoTitulo, estiloTitulo);
                    // TODO: Creamos la tabla de informacion
                    string textoGrafico    = "Gráfico: " + (string)cnvNumGrafico.Convert(g.Numero, null, null, null) + "   Turno: " + g.Turno.ToString("0");
                    string textoValoracion = "Valoración: " + (string)cnvHora.Convert(g.Valoracion, null, VerValores.NoCeros, null);
                    Table tablaInformacion = PdfTools.GetTablaTitulo(textoGrafico, textoValoracion);
                    tablaInformacion.SetWidth(UnitValue.CreatePercentValue(100));
                    tablaInformacion.SetFontSize(9).SetBold();
                    // Creamos la tabla de valoraciones
                    Table tablaValoraciones = GetGraficoIndividual(g);
                    // TODO: Creamos la tabla de valores
                    string textoValores = "";
                    if (g.Desayuno > 0)
                    {
                        textoValores += String.Format("Desayuno: {0:0.00}  ", g.Desayuno);
                    }
                    if (g.Comida > 0)
                    {
                        textoValores += String.Format("Comida: {0:0.00}  ", g.Comida);
                    }
                    if (g.Cena > 0)
                    {
                        textoValores += String.Format("Cena: {0:0.00}  ", g.Cena);
                    }
                    if (g.PlusCena > 0)
                    {
                        textoValores += String.Format("Plus Cena: {0:0.00}  ", g.PlusCena);
                    }
                    if (g.PlusLimpieza)
                    {
                        textoValores += "Limp.  ";
                    }
                    if (g.PlusPaqueteria)
                    {
                        textoValores += "Paqu.  ";
                    }
                    string textoHoras = $"Trab: {(string)cnvHora.Convert(g.Trabajadas, null, null, null)}  " +
                                        $"Acum: {(string)cnvHora.Convert(g.Acumuladas, null, null, null)}  " +
                                        $"Noct: {(string)cnvHora.Convert(g.Nocturnas, null, null, null)}";
                    Table tablaValores = PdfTools.GetTablaTitulo(textoValores, textoHoras);
                    tablaValores.SetWidth(UnitValue.CreatePercentValue(100));
                    tablaValores.SetFontSize(9).SetBold();

                    // Añadimos las tablas al documento
                    doc.Add(tablaTitulo);
                    doc.Add(tablaInformacion);
                    doc.Add(tablaValoraciones);
                    doc.Add(tablaValores);
                    indice++;
                }
            });
        }