0

我创建了一种将 HTML 转换为 HTMLString 并将其转换为 pdf 的方法,然后我将 baseUrl; 但是,pdf中没有图片。

这是pdf输出的截图

 public FileResult PrintTest3(int id)
        {
            var viewModel = new StandardIndexData();
            viewModel.Title = _context.Titles.Where(i => i.Id == id).FirstOrDefault();
            viewModel.Sections =  _context.Sections;

            viewModel.FileManagers =  _context.FileManagers.ToArray();
            viewModel.Items = _context.Items.Include(i=>i.FileManagers);
            
            var html = Helper.RenderRazorViewToString(this, "DisplayAll",viewModel);
            HtmlToPdf oHtmlToPdf = new HtmlToPdf();
            //var baseUrl = "~//Images";
            PdfDocument oPdfDocument = oHtmlToPdf.ConvertHtmlString(html, _dir);
            byte[] pdf = oPdfDocument.Save();
            oPdfDocument.Close();
            return File(pdf, "application/pdf", "Test.pdf");
        }

4

1 回答 1

0

这是因为base baseUrl不正确,正确的做法是:

baseUrl + 相对图像/css url = 完整的绝对 url

base Url=>http://域名或本地主机相关图片/css url=>你的图片文件地址

例如=>http://localhost:54883/images/SmartPaies/clients-logo/

仍然无法使用,请让我知道您也可以通过我的邮件 id mimamsalabs@gmail.com 与我联系

于 2020-10-16T05:35:22.227 回答