本文提供了有关如何创建 ASP.NET Core PDF 生成器应用程序的完整教程。它将帮助您了解如何在 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 应用程序。
asp.net核心生成pdf
  • 从模板中选择 Web 应用程序(模型-视图-控制器)。
asp.net 核心网络应用程序

由于这个 PDF 编辑器使用 WYSIWYG HTML 编辑器来创建 PDF 文档的内容,为了演示,我使用了 CKEditor 的标准包。您可以随意选择最能满足您要求的最喜欢的 HTML 编辑器。如果您喜欢使用上述编辑器,请按照以下步骤进行集成,否则请跳过它。

  • 下载 CKEditor 的 package,解压并复制/粘贴文件夹到 wwwroot 目录。
asp.net pdf 生成器
  • 打开 NuGet 包管理器,安装 Aspose.PDF 和 CKEditor 的包。
在 ASP.NET Core 中创建 PDF
  • 打开 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 以避免评估限制。

相关文章