Este artículo proporciona un tutorial completo sobre cómo crear una aplicación generadora de PDF de ASP.NET Core. Le ayudará a aprender cómo crear archivos PDF en sus aplicaciones ASP.NET Core.
PDF (Formato de documento portátil) es un formato muy conocido y ampliamente utilizado para mostrar o ver documentos digitales sin preocuparse por el software, el sistema operativo o el hardware compatibles. La creación de archivos PDF mediante programación es bastante útil para generar documentos como informes, currículos, facturas, etc. en línea dentro de las aplicaciones web. Entonces, en este artículo, lo guiaré sobre cómo crear archivos PDF en la aplicación web ASP.NET Core con C#.
Crear archivos PDF en ASP.NET Core
Para crear archivos PDF mediante programación, desarrollaremos un editor de PDF en la aplicación web ASP.NET Core. Esta aplicación se basará en un editor HTML WYSIWYG para crear el contenido y Aspose.PDF for .NET para generar el PDF basado en ese contenido. Entonces, comencemos a crear nuestra aplicación de edición de PDF en ASP.NET Core siguiendo los pasos a continuación.
- Cree una nueva aplicación web ASP.NET Core en Visual Studio.
- Seleccione Aplicación web (Modelo-Vista-Controlador) de las plantillas.
Dado que este editor de PDF utiliza el editor HTML WYSIWYG para crear el contenido de los documentos PDF, para la demostración he utilizado el paquete estándar de CKEditor. Siéntase libre de elegir su editor HTML favorito que mejor se adapte a sus necesidades. Si está listo para usar el editor mencionado anteriormente, siga el siguiente paso para su integración, de lo contrario, omítalo.
- Descargue el paquete de CKEditor, extráigalo y copie/pegue la carpeta en el directorio wwwroot.
- Abra NuGet Package Manager e instale los paquetes de Aspose.PDF y CKEditor.
- Abra Views/Home/index.cshtml y reemplace el script con lo siguiente.
@{
ViewData["Title"] = "PDF Creator";
}
<script src="~/ckeditor/ckeditor.js"></script>
<div class="row">
<div class="col-md-12">
<h2>Create a PDF File</h2>
<form method="post">
<textarea name="editor1" id="editor1" rows="80" cols="80">
Start creating your PDF document.
</textarea>
<br />
<input type="submit" class="btn btn-success" value="Generate PDF" />
<script>
// <html>Reemplace la<textarea id="editor1"> con un CKEditor</html>
// instancia, utilizando la configuración predeterminada.
CKEDITOR.replace('editor1');
</script>
</form>
</div>
</div>
- Abra Controllers/HomeController.cs y reemplace el código con lo siguiente.
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public FileResult Index(string editor1)
{
// crear un nombre de archivo único
string fileName = Guid.NewGuid() + ".pdf";
// convertir texto HTML a flujo
byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
// generar PDF desde el HTML
MemoryStream stream = new MemoryStream(byteArray);
HtmlLoadOptions options = new HtmlLoadOptions();
Document pdfDocument = new Document(stream, options);
// crear flujo de memoria para el archivo PDF
Stream outputStream = new MemoryStream();
pdfDocument.Save(outputStream);
// devolver el archivo PDF generado
return File(outputStream, System.Net.Mime.MediaTypeNames.Application.Pdf, fileName);
}
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
- Cree la aplicación y ejecútela en su navegador favorito.
Creación de PDF en la aplicación ASP.NET Core - Demostración
La siguiente es la demostración de cómo crear archivos PDF utilizando el generador de PDF de ASP.NET Core que acabamos de crear.
Descargar código fuente
Puede descargar el código fuente completo del ASP.NET PDF Editor desde GitHub.
Obtenga una licencia gratuita para Aspose.PDF for .NET
Puede solicitar una licencia temporal gratuita de Aspose.PDF for .NET para evitar limitaciones de evaluación.