Este artigo fornece um tutorial completo de como criar um aplicativo gerador de PDF ASP.NET Core. Ele irá ajudá-lo a aprender como criar arquivos PDF em seus aplicativos ASP.NET Core.
PDF (Portable Document Format) é um formato conhecido e amplamente utilizado para exibir ou visualizar documentos digitais sem se preocupar com o software, sistema operacional ou hardware compatível. Criar arquivos PDF programaticamente é bastante útil para gerar documentos como relatórios, currículos, faturas, etc. online dentro dos aplicativos da web. Portanto, neste artigo, vou orientá-lo sobre como criar arquivos PDF no aplicativo Web ASP.NET Core com C#.
Criar arquivos PDF no ASP.NET Core
Para criar arquivos PDF programaticamente, desenvolveremos um editor de PDF no aplicativo Web ASP.NET Core. Este aplicativo será baseado em um editor HTML WYSIWYG para criar o conteúdo e Aspose.PDF for .NET para gerar o PDF com base nesse conteúdo. Então, vamos começar a criar nosso aplicativo de editor de PDF no ASP.NET Core seguindo as etapas abaixo.
- Crie um novo aplicativo Web ASP.NET Core no Visual Studio.
- Selecione Aplicativo da Web (Model-View-Controller) nos modelos.
Como este editor de PDF usa o editor HTML WYSIWYG para criar o conteúdo de documentos PDF, para a demonstração, usei o Pacote Padrão do CKEditor. Você pode se sentir à vontade para escolher seu editor de HTML favorito que melhor atenda às suas necessidades. Se você gosta de usar o editor mencionado acima, siga a etapa abaixo para sua integração, caso contrário, pule-a.
- Baixe o pacote do CKEditor, extraia-o e copie/cole a pasta no diretório wwwroot.
- Abra o NuGet Package Manager e instale os pacotes de Aspose.PDF e CKEditor.
- Abra Views/Home/index.cshtml e substitua o script pelo seguinte.
@{
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>Substitua o<textarea id="editor1"> com um CKEditor</html>
// instância, usando a configuração padrão.
CKEDITOR.replace('editor1');
</script>
</form>
</div>
</div>
- Abra Controllers/HomeController.cs e substitua o código pelo seguinte.
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public FileResult Index(string editor1)
{
// criar um nome de arquivo exclusivo
string fileName = Guid.NewGuid() + ".pdf";
// converter texto HTML em fluxo
byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
// gerar PDF a partir do HTML
MemoryStream stream = new MemoryStream(byteArray);
HtmlLoadOptions options = new HtmlLoadOptions();
Document pdfDocument = new Document(stream, options);
// criar fluxo de memória para o arquivo PDF
Stream outputStream = new MemoryStream();
pdfDocument.Save(outputStream);
// retornar arquivo PDF gerado
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 });
}
}
- Crie o aplicativo e execute-o em seu navegador favorito.
Criando PDF no aplicativo ASP.NET Core - Demo
A seguir está a demonstração de como criar arquivos PDF usando o gerador de PDF ASP.NET Core que acabamos de criar.
Baixar código fonte
Você pode baixar o código-fonte completo do ASP.NET PDF Editor de GitHub.
Obtenha uma licença gratuita para Aspose.PDF para .NET
Você pode solicitar uma licença temporária gratuita do Aspose.PDF para .NET para evitar limitações de avaliação.