2017-06-23 93 views
0

我想從HTML字符串創建一個PDF文件,基本上HTML是一個包含多列的表格。問題是,當我生成PDF文件時,我無法看到所有的列。C#NReco HtmlToPdfConverter頁面寬度

我已經嘗試了幾種方案,但至今沒有運氣:

var generator = new NReco.PdfGenerator.HtmlToPdfConverter(); 
generator.CustomWkHtmlPageArgs = "--enable-smart-shrinking"; 
generator.CustomWkHtmlArgs = "--page-width value"; 
generator.PageWidth = Value; 

也都像身體和表中的HTML元素具有寬度= 100%

我怎樣才能讓HTML,以適應在一個頁?

這是HTML:

<!doctype html> 
<html lang="en"> 
    <body >    
    <table border="1" width="100%"> 
     <tr> 
     <th >Heat Id</th> 
     <th >Heat Order Id</th> 
     <th >MSP</th> 
     <th >Grade</th> 
     <th >Recipe</th> 
     <th >Shift</th> 
     <th >Crew</th> 
     <th >Start Date</th> 
     <th >End Date</th> 
     <th >Tap Date</th> 
     <th >Tap Wt. (Tons)</th> 
     <th >Scale Tap Wt. (Tons)</th> 
     <th >Cast Heat Wt.</th> 
     <th >Cast Slab Wt.</th> 
     <th >Charge Wt. (Tons)</th> 
     <th >Pseudo 1 Bucket</th> 
     <th >Scrap Wt. (Tons)</th> 
     <th >Scrap Flux Wt. (Tons)</th> 
     <th >Alloys Wt. (Lbs)</th> 
     <th >Tap Flux Wt. (Lbs)</th> 
     <th >MWH</th> 
     <th >Avg MW</th> 
     <th >KWH/Charge Ton</th> 
     <th >Tap To Tap Time A & B Furnace (min)</th> 
     <th >Tap To Tap Time Single Furnace (min)</th> 
     <th >Power On Time (min)</th> 
     <th >Power On %</th> 
     <th >Delay Time (min)</th> 
     <th >Tons/Hr</th> 
     <th >Total O2</th> 
     <th >Total O2 SS</th> 
     <th >Total Gas</th> 
     <th >Total C</th> 
     <th >Tap Temp</th> 
     <th >Tap C</th> 
     <th >Tap O2</th> 
     <th >Ladle ID</th> 
     <th >Comments</th> 
     <th >Auto Preheat On Time (min)</th> 
     <th >Auto Preheat Energy (MWH)</th> 
     <th >Heating/Lancing Energy (MWH)</th> 
     </tr>     
    </table>    
    </body> 
</html> 
+0

請澄清「基本上」 – lloyd

回答

1

我最終結合的方向,變焦和頁面大小:

generator.Orientation = NReco.PdfGenerator.PageOrientation.Landscape 
generator.Zoom = 0.55f; 
generator.Size = NReco.PdfGenerator.PageSize.A3; 

這樣的話,我可以顯示所有列。

0

在大多數情況下,你不能看到所有列,因爲你的表需要更多的空間比現有的PDF頁面上指定的寬度(毫米),默認的DPI。對於A4尺寸,嘗試在網絡瀏覽器中打開您的HTML模板,將其窗口大小調整爲800-900px左右,然後查看頁面佈局發生了什麼。

BTW下面的代碼行設置相同wkhtmltopdf選項:

generator.CustomWkHtmlArgs = "--page-width value"; 
generator.PageWidth = Value; 
+0

我不知道是否有一個選項來縮放內容以適應PDF頁面。就像你在Chrome中打開html頁面時一樣,然後嘗試將它打印到PDF。它非常好地縮放。 –