2017-10-11 75 views
0

所以我使用SelectPDF將MVC視圖的html轉換爲PDF,但由於某些原因,PDF中缺少大量內容。SelectPDF轉換後缺少的內容

我已經測試過的程序上的其他網站我在MVC做他們的工作...

所以按照自述文檔的建議,我用這個代碼產生

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被錯誤地捕獲):

HTML

但這是PDF的外觀:

PDF 絕對悲慘...

不知道是否會有所幫助,但這裏的HTML:

https://drive.google.com/open?id=0B8DiACLG11oYd3p5Tzc2ZlJQLVk

不幸的是,所有的HTML是在一行感謝MVC查看到HTML

+1

我會做的第一件事就是從源中刪除兩個樣式表並再次運行它。看看它是否實際包含缺失的對象。如果是這樣,你已經縮小到CSS問題。從那裏出發。 –

+1

該HTML字符串無效btw。它有一個''和''嵌套代替'

',看起來像一些驗證錯誤。也許你應該考慮一下。另外,請確保您鏈接的是正確的樣式表 – zgood

回答

1

似乎使用的HTML/CSS引擎來渲染頁面不支持VH,VW的字體大小。這是所有轉換器的常見問題,因此如果您需要將頁面轉換爲pdf,可能應該嘗試更改此設置。

後來更新:似乎有支持vw,但不支持vh。這就是「每個」字出現的原因。他們在css中使用vw。