Exemplo n.º 1
0
 /// <summary>
 /// Devuelve un PDF que se guardará en la ruta indicada, a partir de la plantilla necesaria para el tipo de informe indicado.
 /// </summary>
 /// <param name="ruta">Ruta completa (nombre de archivo incluido) en la que se guardará el PDF.</param>
 /// <param name="tipo">Tipo de informe que se va a generar.</param>
 /// <returns>El PDF listo para editar sus elementos.</returns>
 public iText.Kernel.Pdf.PdfDocument GetPdfDesdePlantilla(string ruta, TiposInforme tipo = TiposInforme.Ninguno)
 {
     // Definimos el pdf que se va a devolver.
     iText.Kernel.Pdf.PdfDocument docPdf = null;
     // Si hay un tipo de informe creamos el pdf.
     if (tipo != TiposInforme.Ninguno)
     {
         // Definimos la plantilla
         string plantilla = Utils.CombinarCarpetas(App.RutaInicial, $"/Plantillas/{tipo}.pdf");
         // Se crea el Reader con la plantilla necesaria.
         iText.Kernel.Pdf.PdfReader reader = new iText.Kernel.Pdf.PdfReader(plantilla);
         // Se crea el Writer con la ruta pasada.
         iText.Kernel.Pdf.PdfWriter writer = new iText.Kernel.Pdf.PdfWriter(ruta);
         // Creamos el documento, usando el reader y el writer anteriores.
         docPdf = new iText.Kernel.Pdf.PdfDocument(reader, writer);
         // Añadimos los datos de Metadata
         docPdf.GetDocumentInfo().SetAuthor("Orion - AnderSoft - A.Herrero");
         docPdf.GetDocumentInfo().SetCreator("Orion 1.0");
     }
     // Devolvemos el documento.
     return(docPdf);
 }
Exemplo n.º 2
0
 /// <summary>
 /// Devuelve un documento PDF nuevo en formato A5 en la ruta que se pasa como argumento.
 /// </summary>
 /// <param name="ruta">Ruta completa (nombre de archivo incluido) en la que se guardará el documento PDF.</param>
 /// <param name="apaisado">Si es true, el documento estará en apaisado. Por defecto es false.</param>
 /// <returns>El documento PDF listo para trabajar en él.</returns>
 public iText.Layout.Document GetNuevoPdfA5(string ruta, bool apaisado = false)
 {
     // Se crea el Writer con la ruta pasada.
     iText.Kernel.Pdf.PdfWriter writer = new iText.Kernel.Pdf.PdfWriter(ruta);
     // Se crea el PDF que se guardará usando el writer.
     iText.Kernel.Pdf.PdfDocument docPDF = new iText.Kernel.Pdf.PdfDocument(writer);
     // Añadimos los datos de Metadata
     docPDF.GetDocumentInfo().SetAuthor("Orion - AnderSoft - A.Herrero");
     docPDF.GetDocumentInfo().SetCreator("Orion 1.0");
     // Creamos el tamaño de página y le asignamos la rotaciñon si debe ser apaisado.
     iText.Kernel.Geom.PageSize tamañoPagina;
     if (apaisado)
     {
         tamañoPagina = iText.Kernel.Geom.PageSize.A5.Rotate();
     }
     else
     {
         tamañoPagina = iText.Kernel.Geom.PageSize.A5;
     }
     // Se crea el documento con el que se trabajará.
     iText.Layout.Document documento = new iText.Layout.Document(docPDF, tamañoPagina);
     return(documento);
 }
Exemplo n.º 3
0
        /// <summary>
        /// Sets the title.
        /// </summary>
        /// <param name="pdfFilePath">The PDF file path.</param>
        /// <param name="title">The title.</param>
        internal static void SetTitle(string pdfFilePath, string title)
        {
            if (string.IsNullOrEmpty(title))
            {
                return;
            }

            string tempFilePath = Path.GetTempFileName();

            using (PdfReader pdfReader = new PdfReader(pdfFilePath))
            {
                using (PdfWriter pdfWriter = new PdfWriter(tempFilePath))
                {
                    using (iText.Kernel.Pdf.PdfDocument pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfReader, pdfWriter))
                    {
                        PdfDocumentInfo pdfDocumentInfo = pdfDocument.GetDocumentInfo();
                        pdfDocumentInfo.SetTitle(title);
                    }
                }
            }

            File.Delete(pdfFilePath);
            File.Move(tempFilePath, pdfFilePath);
        }