2017-06-23 70 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。它非常好地缩放。 –