2017-06-07 9 views
0

Ich habe versucht, eine PDF aus HTML, die eine Tabelle mit PdfSharp und HTMLRenderer zu generieren. Das folgende zeigt den Code.Wie benutzerdefinierte Größe zu PdfSharp generiert Pdf

  pdf = PdfGenerator.GeneratePdf(html, PageSize.A3); 

      byte[] fileContents = null; 
      using (MemoryStream stream = new MemoryStream()) 
      { 
       pdf.Save(stream, true); 
       fileContents = stream.ToArray(); 
       return new FileStreamResult(new MemoryStream(fileContents.ToArray()), "application/pdf"); 
      } 

Gibt es eine Möglichkeit für mich, eine benutzerdefinierte Größe für die PDF bereitzustellen und die Ausrichtung der Seite zu ändern. Ich verwende einen Speicherstream, um das PDF direkt auf dem Browser anzuzeigen.

Antwort

1

Sie können den PdfGenerateConfig-Parameter der GeneratePdf-Methode verwenden, um eine benutzerdefinierte Seitengröße unter Verwendung der ManualPageSize-Eigenschaft anzugeben.

Verwenden Sie die PageOrientation, um Standardseitengrößen im Querformat zu erhalten.

-Code von Kommentar:

var config = new PdfGenerateConfig(); 
config.PageOrientation = PageOrientation.Landscape; 
config.ManualPageSize = new PdfSharp.Drawing.XSize(1080, 828); 
+0

Vielen Dank .. Es hat funktioniert .. – Darshaka

+0

var config = neue PdfGenerateConfig(); config.PageOrientation = PageOrientation.Landscape; config.ManualPageSize = neu PdfSharp.Drawing.XSize (1080, 828); – Darshaka

0

Wenn ich mich nicht irre, ist PageSize.A3 kein Enum, sondern Rectangle-Wert. Anstatt also vordefinierte Rechteck von geben können Sie Ihre eigenen, zum Beispiel liefern:

new Rectangle (1191, 842) // für das Album A3

new Rectangle (842, 595) // für das Album A4

und so weiter ...