我正在尝试从html生成pdf,但工作正常,但是我遇到的问题是我的图像未显示:图像来自url <img src="https://image.shutterstock.com/image-photo/large-beautiful-drops-transparent-rain-260nw-668593321.jpg" />
,我认为图像之前尚未加载转换。请我如何延迟转换或实现转换,即确保图像以pdf呈现。
WebKitConverterSettings settings = new WebKitConverterSettings();
var baseUrl = url;
settings.PdfHeader = HeaderHTMLtoPDF(url");
settings.PdfFooter = FooterHTMLtoPDF({url});
//Set WebKit path
var contentRoot = _configuration.GetValue<string>(WebHostDefaults.ContentRootKey);
settings.WebKitPath = Path.Combine(contentRoot, "QtBinariesWindows");
settings.Margin.Top = 30;
//Assign WebKit settings to HTML converter
htmlConverter.ConverterSettings = settings;
var pdfViewUrl = $"{baseUrl}/api/pdf";
Task<PdfDocument> convertPdfTask = Task<PdfDocument>.Factory.StartNew(() => htmlConverter.Convert(pdfViewUrl));
PdfDocument document = convertPdfTask.Result;
MemoryStream stream = new MemoryStream();
document.Save(stream);
document.Close(true);```
答案 0 :(得分:0)
我们已通过提供的详细信息检查了转换,该转换是否正常运行。我们使用提供的图像创建了一个简单的html,并将其正确转换为PDF文档。
由于缺少OPENSSL程序集,可能会出现报告的图像丢失问题。要从HTTPS站点访问资源,HTML转换器需要OPENSSL程序集。因此,请确保进行转换的计算机中OPENSSL程序集可用。请参阅下面的链接以获取更多详细信息,
先决条件-https://help.syncfusion.com/file-formats/pdf/convert-html-to-pdf/webkit#openssl
故障排除-https://help.syncfusion.com/file-formats/pdf/converting-html-to-pdf#troubleshooting
但是,下面提到的OPENSSL程序集可以放置在计算机的Windows系统文件夹中。 (对于64位计算机,应将其放置在$ SystemDrive \ Windows \ SysWOW64中;对于32位计算机,应将其放置在$ SystemDrive \ Windows \ System32中)。
注意:我为Syncfusion工作。