В этой статье представлено полное руководство по созданию приложения для создания PDF-файлов ASP.NET Core. Это поможет вам научиться создавать 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.
ядро asp.net сгенерировать pdf
  • Выберите веб-приложение (модель-представление-контроллер) из шаблонов.
основное веб-приложение asp.net

Поскольку этот редактор PDF использует HTML-редактор WYSIWYG для создания содержимого PDF-документов, для демонстрации я использовал стандартный пакет CKEditor. Вы можете свободно выбирать свой любимый HTML-редактор, который лучше всего соответствует вашим требованиям. Если вы хорошо работаете с вышеупомянутым редактором, выполните следующий шаг для его интеграции, иначе пропустите его.

  • Загрузите пакет CKEditor, распакуйте его и скопируйте/вставьте папку в каталог wwwroot.
генератор пдф asp.net
  • Откройте диспетчер пакетов NuGet и установите пакеты Aspose.PDF и CKEditor.
Создание PDF-файла в ASP.NET Core
  • Откройте 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, чтобы избежать оценочных ограничений.

Статьи по Теме