我有一个完整的系统,从HTML创建单个页面PDF如下所示;
初始化转换器后
var nRecoHTMLToPDFConverter = new HtmlToPdfConverter();
nRecoHTMLToPDFConverter = PDFGenerator.PDFSettings(nRecoHTMLToPDFConverter);
string PDFContents;PDFContents是一个正在填充的HTML。
下面的命令工作得很好,给了我可以返回的byte[];
createDTO.PDFContent = nRecoHTMLToPDFConverter.GeneratePdf(PDFContents);当我想测试和开发NReco库的多页功能并将任意数量的HTML页面更改为PDF页面时,就会出现问题。
var stringArray = new string[]
{
PDFContents, PDFContents,
};
var stream = new MemoryStream();
nRecoHTMLToPDFConverter.GeneratePdfFromFiles(stringArray, null, stream);
var mybyteArray = stream.ToArray();PDFContents与上面的完全相同。在理论上,这应该给我两个相同的PDF页面的字节数组,但是在调用GeneratePdfFromFiles方法时,我得到以下异常;
WkHtmlToPdfException:由于网络错误而退出代码1: HostNotFoundError (退出代码: 1)
如果你有这个图书馆的经验和它的复杂性,请帮我解决这个问题。我有一种感觉,我不熟悉在这个场景中如何正确使用Stream对象。我在同一个方法调用中测试了工作的单页行和故障的多页行,因此它们的上下文是相同的。
非常感谢
发布于 2022-05-11 17:01:41
使用的GeneratePdfFromFiles方法需要文件名(或URL)数组:https://www.nrecosite.com/doc/NReco.PdfGenerator/?topic=html/M_NReco_PdfGenerator_HtmlToPdfConverter_GeneratePdfFromFiles_1.htm
如果您使用HTML作为.NET字符串操作,您可以简单地将其保存到临时文件、生成PDF并在此之后删除。
https://stackoverflow.com/questions/72196877
复制相似问题