2017-06-23 18 views
0

Ich versuche eine PDF-Datei aus einer HTML-Zeichenfolge zu erstellen, im Grunde ist HTML eine Tabelle mit mehreren Spalten. Das Problem ist, dass ich beim Generieren der PDF-Datei nicht alle Spalten sehen kann.C# NReco HtmlToPdfConverter Seitenbreite

Ich habe mehrere Optionen ausprobiert, aber bisher kein Glück:

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

auch alle HTML-Elemente wie Körper und Tabelle haben width = 100%

Wie kann ich die HTML machen in einer passen Seite?

Dies ist der 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

Bitte klären Sie "grundsätzlich" – lloyd

Antwort

1

I Orientierung Kombination endete, Zoom- und Seitengröße:

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

Auf diese Weise konnte ich alles, um das Menü Säulen.

0

In den meisten Fällen werden Sie nicht alle Spalten, weil Sie Ihren Tisch mehr Platz für die angegebene Breite auf PDF-Seite als verfügbar sehen muss (in mm) und Standard-DPI. Versuchen Sie für A4, Ihre HTML-Vorlage in einem Webbrowser zu öffnen, das Fenster auf eine Breite von ca. 800-900 px zu skalieren und zu sehen, was mit dem Seitenlayout passiert.

BTW die folgenden Codezeilen die gleiche wkhtmltopdf Option:

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

Ich frage mich, ob es eine Option gibt, den Inhalt zu skalieren, um die PDF-Seite anzupassen. Wenn Sie beispielsweise die HTML-Seite in Chrome öffnen, versuchen Sie, sie in PDF zu drucken. Es skaliert sehr schön. –

Verwandte Themen