В этой статье представлено полное руководство по созданию приложения для создания PDF-файлов ASP.NET Core. Это поможет вам научиться создавать PDF-файлы в приложениях ASP.NET Core.
PDF (Portable Document Format) — это хорошо известный и широко используемый формат для отображения или просмотра цифровых документов, не беспокоясь о совместимом программном обеспечении, операционной системе или оборудовании. Программное создание PDF-файлов весьма полезно для создания документов, таких как отчеты, резюме, счета и т. д., онлайн в веб-приложениях. Итак, в этой статье я расскажу вам, как создавать PDF-файлы в веб-приложении ASP.NET Core с помощью C#.
Создание PDF-файлов в ASP.NET Core
Чтобы программно создавать файлы PDF, мы разработаем редактор PDF в веб-приложении ASP.NET Core. Это приложение будет основано на HTML-редакторе WYSIWYG для создания содержимого и Aspose.PDF для .NET для создания PDF-файла на основе этого содержимого. Итак, давайте начнем создавать наше приложение для редактирования PDF в ASP.NET Core, выполнив следующие шаги.
- Создайте новое веб-приложение ASP.NET Core в Visual Studio.
- Выберите веб-приложение (модель-представление-контроллер) из шаблонов.
Поскольку этот редактор PDF использует HTML-редактор WYSIWYG для создания содержимого PDF-документов, для демонстрации я использовал стандартный пакет CKEditor. Вы можете свободно выбирать свой любимый HTML-редактор, который лучше всего соответствует вашим требованиям. Если вы хорошо работаете с вышеупомянутым редактором, выполните следующий шаг для его интеграции, иначе пропустите его.
- Загрузите пакет CKEditor, распакуйте его и скопируйте/вставьте папку в каталог 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);
// создать PDF из HTML
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 });
}
}
- Создайте приложение и запустите его в своем любимом браузере.
Создание PDF-файла в приложении ASP.NET Core — демонстрация
Ниже показано, как создавать файлы PDF с помощью генератора PDF ASP.NET Core, который мы только что создали.
Скачать исходный код
Полный исходный код редактора PDF ASP.NET можно загрузить с GitHub.
Получите бесплатную лицензию на Aspose.PDF для .NET
Вы можете запросить бесплатную временную лицензию на Aspose.PDF для .NET, чтобы избежать оценочных ограничений.