¿Cómo redimensionar imágenes enormes en C# .Net Core?, Magick.Net

En este video te explicare porque deberías utilizar Magick.Net en tus desarrollos que involucren manipulación de imágenes, te mostrare un ejemplo de cómo redimensionar una imagen enorme.

¿Cómo insertar texto en un archivo PDF con C# .Net? ITextSharp

Para realizar esto vamos a hacer uso de la librería ITextSharp.Net, la cual deben instalar primero mediante Nuget (si no sabes cómo utilizar Nuget yo te muestro aquí).

El código a continuación viene comentado paso a paso para que puedas entender cómo se puede insertar texto en un archivo PDF existente.


 //rutas de nuestros pdf
string pathPDF = @"C:\original.pdf";
string pathPDF2 = @"C:\con_texto.pdf";

//Objeto para leer el pdf original
PdfReader oReader = new PdfReader(pathPDF);
//Objeto que tiene el tamaño de nuestro documento
Rectangle oSize = oReader.GetPageSizeWithRotation(1);
//documento de itextsharp para realizar el trabajo asignandole el tamaño del original
Document oDocument = new Document(oSize);

// Creamos el objeto en el cual haremos la inserción
FileStream oFS = new FileStream(pathPDF2, FileMode.Create, FileAccess.Write);
PdfWriter oWriter = PdfWriter.GetInstance(oDocument, oFS);
oDocument.Open();

//El contenido del pdf, aqui se hace la escritura del contenido
PdfContentByte oPDF = oWriter.DirectContent;

//Propiedades de nuestra fuente a insertar
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
oPDF.SetColorFill(BaseColor.RED);
oPDF.SetFontAndSize(bf, 8);

//Se abre el flujo para escribir el texto
oPDF.BeginText();
//asignamos el texto
string text = "HOLA SOY UN TEXTO ROJO EN UN PDF";
// Le damos posición y rotación al texto
// la posición de Y es al revés de como estamos acostumbrados
oPDF.ShowTextAligned(1, text, 30, oSize.Height-30, 0);
oPDF.EndText();         

//crea una nueva pagina y agrega el pdf original
PdfImportedPage page = oWriter.GetImportedPage(oReader, 1);
oPDF.AddTemplate(page, 0, 0);

// Cerramos los objetos utilizados
oDocument.Close();
oFS.Close();
oWriter.Close();
oReader.Close();