我有以下代码:
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.PdfToolPath = "~/files/";
htmlToPdf.GeneratePdf(template);
会引发以下错误:
使用nreco pdf生成器将pdf保存在服务器文件夹中时,不支持Uri。
答案 0 :(得分:0)
您需要设置一个到您的文件系统的常规路径,例如" C:\ TEMP \ MyFolder文件\&#34 ;.或者使用。而不是〜和反斜杠:
htmlToPdf.PdfToolPath = ".\\files\\";
如果NReco能够为您提供字节数组或流,您应该更喜欢它而不是文件并直接返回。
更新:
在查看了NReco的文档之后,您需要做的就是:
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.PdfToolPath = "<CORRECT_PATH_FOR_TOOL>";
var output = htmlToPdf.GeneratePdf(template);
System.IO.File.WriteAllBytes("<OUTPUT_PATH>", output);
这应该在OUTPUT_PATH中创建你的pdf。
答案 1 :(得分:0)
@OlaFW thanx for your effort.
I got my answer.
var pdfBytes = htmlToPdf.GeneratePdf(template);
string filePath = "/files/Myfile.pdf";
string Url = System.Web.Hosting.HostingEnvironment.MapPath(filePath);
System.IO.File.WriteAllBytes(Url, pdfBytes);