Questo articolo fornisce un’esercitazione completa su come creare un’applicazione di generazione PDF ASP.NET Core. Ti aiuterà a imparare come creare file PDF nelle tue applicazioni ASP.NET Core.
PDF (Portable Document Format) è un formato ben noto e ampiamente utilizzato per visualizzare o visualizzare documenti digitali senza preoccuparsi del software, del sistema operativo o dell’hardware compatibili. La creazione di file PDF in modo programmatico è molto utile per generare documenti come report, curricula, fatture, ecc. online all’interno delle applicazioni web. Quindi, in questo articolo, ti guiderò come creare file PDF nell’applicazione Web ASP.NET Core con C#.
Crea file PDF in ASP.NET Core
Per creare file PDF a livello di codice, svilupperemo un editor PDF nell’applicazione Web ASP.NET Core. Questa applicazione sarà basata su un editor HTML WYSIWYG per creare il contenuto e Aspose.PDF for .NET per generare il PDF basato su quel contenuto. Quindi iniziamo a creare la nostra applicazione editor PDF in ASP.NET Core seguendo i passaggi seguenti.
- Creare una nuova applicazione Web ASP.NET Core in Visual Studio.
- Seleziona Applicazione Web (Model-View-Controller) dai modelli.
Poiché questo editor PDF utilizza l’editor HTML WYSIWYG per creare il contenuto per i documenti PDF, per la dimostrazione ho utilizzato il pacchetto standard di CKEditor. Puoi sentirti libero di scegliere il tuo editor HTML preferito che potrebbe soddisfare al meglio le tue esigenze. Se sei a posto con il suddetto editor, segui il passaggio seguente per la sua integrazione, altrimenti saltalo.
- Scarica il pacchetto di CKEditor, estrailo e copia/incolla la cartella nella directory wwwroot.
- Apri NuGet Package Manager e installa i pacchetti di Aspose.PDF e CKEditor.
- Apri Views/Home/index.cshtml e sostituisci lo script con il seguente.
@{
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>Sostituisci il<textarea id="editor1"> con un CKEditor</html>
// istanza, utilizzando la configurazione predefinita.
CKEDITOR.replace('editor1');
</script>
</form>
</div>
</div>
- Apri Controllers/HomeController.cs e sostituisci il codice con il seguente.
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public FileResult Index(string editor1)
{
// creare un nome file univoco
string fileName = Guid.NewGuid() + ".pdf";
// convertire il testo HTML in streaming
byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
// generare PDF dall'HTML
MemoryStream stream = new MemoryStream(byteArray);
HtmlLoadOptions options = new HtmlLoadOptions();
Document pdfDocument = new Document(stream, options);
// creare un flusso di memoria per il file PDF
Stream outputStream = new MemoryStream();
pdfDocument.Save(outputStream);
// restituire il file PDF generato
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 });
}
}
- Crea l’applicazione ed eseguila nel tuo browser preferito.
Creazione di PDF nell’applicazione ASP.NET Core - Demo
Quella che segue è la dimostrazione di come creare file PDF utilizzando il generatore PDF ASP.NET Core che abbiamo appena creato.
Scarica il codice sorgente
È possibile scaricare il codice sorgente completo dell’editor PDF ASP.NET da GitHub.
Ottieni una licenza gratuita per Aspose.PDF per .NET
Puoi richiedere una licenza temporanea gratuita di Aspose.PDF per .NET per evitare limitazioni di valutazione.