本文提供了有關如何創建 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 Application (Model-View-Controller)。
由於此 PDF 編輯器使用 WYSIWYG HTML 編輯器來創建 PDF 文檔的內容,因此為了演示,我使用了 CKEditor 的標準包。您可以隨意選擇最能滿足您需求的最喜歡的 HTML 編輯器。如果您願意使用上述編輯器,請按照以下步驟進行集成,否則跳過它。
- 下載 CKEditor 的 package,將其解壓縮並複制/粘貼到 wwwroot 目錄中的文件夾。
- 打開 NuGet Package Manager 並安裝 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 的免費臨時許可,以避免評估限制。