本文提供了有关如何创建 ASP.NET Core PDF 生成器应用程序的完整教程。它将帮助您了解如何在 ASP.NET Core 应用程序中创建 PDF 文件。
PDF(便携式文档格式)是一种众所周知且广泛使用的格式,用于显示或查看数字文档,而无需担心兼容的软件、操作系统或硬件。以编程方式创建 PDF 文件对于在 Web 应用程序中在线生成报告、简历、发票等文档非常有用。因此,在本文中,我将指导您如何使用 C# 在 ASP.NET Core Web 应用程序中创建 PDF 文件。
在 ASP.NET Core 中创建 PDF 文件
为了以编程方式创建 PDF 文件,我们将在 ASP.NET Core Web 应用程序中开发一个 PDF 编辑器。该应用程序将基于 WYSIWYG HTML 编辑器来创建内容,并且 Aspose.PDF for .NET 将基于该内容生成 PDF。因此,让我们按照以下步骤开始在 ASP.NET Core 中创建我们的 PDF 编辑器应用程序。
- 在 Visual Studio 中创建一个新的 ASP.NET Core Web 应用程序。
- 从模板中选择 Web 应用程序(模型-视图-控制器)。
由于这个 PDF 编辑器使用 WYSIWYG HTML 编辑器来创建 PDF 文档的内容,为了演示,我使用了 CKEditor 的标准包。您可以随意选择最能满足您要求的最喜欢的 HTML 编辑器。如果您喜欢使用上述编辑器,请按照以下步骤进行集成,否则请跳过它。
- 下载 CKEditor 的 package,解压并复制/粘贴文件夹到 wwwroot 目录。
- 打开 NuGet 包管理器,安装 Aspose.PDF 和 CKEditor 的包。
- 打开 Views/Home/index.cshtml 并将脚本替换为以下内容。
@{
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>更换<textarea id="editor1">使用 CKEditor</html>
// 例如,使用默认配置。
CKEDITOR.replace('editor1');
</script>
</form>
</div>
</div>
- 打开 Controllers/HomeController.cs 并将代码替换为以下内容。
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public FileResult Index(string editor1)
{
// 创建一个唯一的文件名
string fileName = Guid.NewGuid() + ".pdf";
// 将 HTML 文本转换为流
byte[] byteArray = Encoding.UTF8.GetBytes(editor1);
// 从 HTML 生成 PDF
MemoryStream stream = new MemoryStream(byteArray);
HtmlLoadOptions options = new HtmlLoadOptions();
Document pdfDocument = new Document(stream, options);
// 为 PDF 文件创建内存流
Stream outputStream = new MemoryStream();
pdfDocument.Save(outputStream);
// 返回生成的 PDF 文件
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 });
}
}
- 构建应用程序并在您喜欢的浏览器中运行它。
在 ASP.NET Core 应用程序中创建 PDF - 演示
下面演示如何使用我们刚刚创建的 ASP.NET Core PDF 生成器创建 PDF 文件。
下载源代码
您可以从 GitHub 下载 ASP.NET PDF 编辑器的完整源代码。
获取 Aspose.PDF for .NET 的免费许可证
您可以申请免费的 临时许可证 Aspose.PDF for .NET 以避免评估限制。