En este video te mostrare como puedes generar un código QR a partir de un texto de una manera muy sencilla utilizando la librería llamada itextsharp.
Etiqueta: iTextSharp
¿Cómo crear el archivo pdf a partir de un xml timbrado 3.3 C# .Net? | Creación de QR | SAT #3
En este tercer video te mostrare como crear el código QR como lo exige el SAT.
Código del video: clic aquí
Primer video: https://www.youtube.com/watch?v=gHSC8GrEC5g
Segundo video: https://www.youtube.com/watch?v=ZppyFAM2JQM
Cuarto video: https://youtu.be/0nmqpoCTUuM
Curso para que aprendas a crear el xml 3.3 desde cero: https://www.youtube.com/watch?v=XlTz0NRQLm4&list=PLWYKfSbdsjJg-yuu9K53GwthkEE8lkXDL
Catálogos sat mysql: https://hdeleon.net/catalogos-para-facturar-3-3-sat-en-mysql/
¿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();
Creación de archivo PDF en C# a partir de un archivo HTML (sin crystal report, sin itextsharp)
Creación de un archivo pdf sin utilizar ni crystal report ni itextsharp, de esta manera no dependemos de dll engorrosas como Crystal Reports.
Liga de libreria: https://wkhtmltopdf.org/
¿Cómo ponerle una contraseña a un pdf en c#?
Para poner un password a un pdf en C# podemos hacer uso de la librería iTextSharp(la cual pueden instalar con nuget, ¿Cómo utilizar nuget?) la cual tiene muchas funcionalidades para el manejo de archivos pdf.
Partiendo de un archivo pdf ya existente con el siguiente código:
using (var input = new FileStream("C:/archivoOriginal.pdf", FileMode.Open, FileAccess.Read, FileShare.Read)) using (var output = new FileStream("C:/archivoConContrasena.pdf", FileMode.Create, FileAccess.Write, FileShare.None)) { var reader = new PdfReader(input); PdfEncryptor.Encrypt(reader, output, true,"tucontraseña", "tucontraseña", PdfWriter.ALLOW_PRINTING); }