C# 选择PDF转换后缺少的内容
因此,我使用SelectPDF将MVC视图的html转换为PDF,但由于某些原因,PDF中缺少大量内容 我已经在我用MVC制作的其他网站上测试了这个程序,它们很有效 因此,根据自述文件的建议,我使用此代码生成C# 选择PDF转换后缺少的内容,c#,html,asp.net-mvc,pdf,selectpdf,C#,Html,Asp.net Mvc,Pdf,Selectpdf,因此,我使用SelectPDF将MVC视图的html转换为PDF,但由于某些原因,PDF中缺少大量内容 我已经在我用MVC制作的其他网站上测试了这个程序,它们很有效 因此,根据自述文件的建议,我使用此代码生成 SelectPdf.HtmlToPdf converter = new SelectPdf.HtmlToPdf(); SelectPdf.PdfDocument doc = converter.ConvertUrl(HTMLPath); //SelectPdf.PdfDocument do
SelectPdf.HtmlToPdf converter = new SelectPdf.HtmlToPdf();
SelectPdf.PdfDocument doc = converter.ConvertUrl(HTMLPath);
//SelectPdf.PdfDocument doc = converter.ConvertHtmlString(ViewHTML);
doc.Save(PDFSavePath);
doc.Close();
因此HTMLSave
path是从呈现的MVC视图创建的HTML文件的位置。而ViewHTML
包含字符串形式的HTML
这就是HTML的外观(文件和视图看起来完全相同,我仔细检查了HTML是否被错误捕获):
但这就是PDF的外观:
绝对悲惨
不确定它是否有用,但以下是HTML:
不幸的是,由于HTML的MVC视图,所有HTML都在一行上。似乎用于呈现页面的HTML/css引擎不支持字体大小的vh、vw。这是所有转换器的常见问题,因此,如果需要将页面转换为pdf,您可能应该尝试更改此设置
后来的更新:似乎有大众的支持,但不支持vh。这就是“每个”字出现的原因。他们在css中使用vw。我要做的第一件事是从源代码中删除两个样式表,然后再次运行它。看看它是否真的包括丢失的对象。如果是这样的话,你就把它缩小到了CSS问题上。从那里开始。该HTML字符串是无效的。它嵌套了一个
和
标记,而不是一个
,看起来有一些验证错误。也许你应该调查一下。另外,请确保链接了正确的样式表