【发布时间】:2022-01-18 12:22:39
【问题描述】:
我正在处理一个 ASP.NET Core MVC 项目,并且我正在执行一项将视图转换为 pdf 的操作。
我想在 html 中生成一个 QRBarCode,我发现这个库 https://ironsoftware.com/csharp/barcode/tutorials/csharp-barcode-image-generator/ 可以生成一个 QRBar 代码,但它只适用于 .NET 而不是 .NET Core。
这就是我将视图转换为 PDF 的方式:
public async Task<IActionResult> AccreditationLetter(int accreditationId)
{
//get model
var htmlContent = View("AccreditationLetter", model).ToHtml(HttpContext);
var file = await GenerateAccreditationLetter(htmlContent, $"Accreditation Letter");
return File(file, "application/pdf", "Accreditation Letter.pdf");
}
private async Task<byte[]> GenerateAccreditationLetter(string htmlContent, string title)
{
var settings = new GlobalSettings
{
ColorMode = ColorMode.Color,
Orientation = Orientation.Portrait,
PaperSize = PaperKind.A4,
Margins = new MarginSettings { Top = 3 },
DocumentTitle = title
};
var objectSettings = new ObjectSettings
{
PagesCount = true,
HtmlContent = htmlContent,
WebSettings = { DefaultEncoding = "utf-8", UserStyleSheet = null }
};
var pdf = new HtmlToPdfDocument()
{
GlobalSettings = settings,
Objects = { objectSettings }
};
return converter.Convert(pdf);
}
我需要生成一个二维码并将其添加到AccreditationLetter方法中的html中。任何帮助将不胜感激
【问题讨论】:
标签: c# asp.net-core-mvc pdf-generation