2016-08-01 12 views
0

私はSelect.HtmltoPdfを使用しています。 ismyコードの下 :。CSSを使用したHTMLからPDFへの変換

  var directory = @"D:\Folder\"; 
     html = html.Replace("/Content", HttpContext.Request.Url.GetLeftPart(UriPartial.Authority) + HttpContext.Request.ApplicationPath + "/Content"); 
     var filePath = directory + Guid.NewGuid() + ".pdf"; 
     var converter = new HtmlToPdf(1536,1536); 

     converter.Options.EmbedFonts = false; 
     converter.Options.ExternalLinksEnabled = true; 
     converter.Options.InternalLinksEnabled = true; 
     converter.Options.KeepTextsTogether = false; 
     converter.Options.KeepImagesTogether = false; 
     converter.Options.JavaScriptEnabled = true; 

     var pdf = converter.ConvertHtmlString(html, Request.Url.Scheme + "://" + Request.Url.Authority + 
Request.ApplicationPath.TrimEnd('/') + "/"); 

     pdf.Save(filePath); 

は私のCSSは、私はちょうど$( "#のprintpage")を使用し、HTMLを取得するために/ Site.css コンテンツであるHTML(); Scripts/xx/custom/common.jsにあるajax呼び出しを介してコントローラに渡します。問題は、ブラウザ上と同じように見えませんか? cssはロードされません。 select.htmltopdfを使用してCSSをレンダリングするにはどうすればよいですか?あるいは、そこに他の使用可能なパッケージがあれば、同じことができます。おかげ

答えて

1

はで私の問題を解決しました。私がやったこと

は、それらを連結し、

<link rel="stylesheet">..... 

<link rel="stylesheet">を経由してCSSを使用し.....し、必要なタグを追加することでした

0

は、私はCSSですべてのページを印刷するために使用することです:頭で

:印刷する

<script language="Javascript"> 
    function print(){window.print();} 
</script> 

<a href="javascript:window.print()" class="btn_result" > 
    Print 
</a> 

そして、私は何かがしたくない場合私はこのようにしています:

@media print { 
.print_invisible{display:none;} 
} 

display:noneまたはvisibily:hiddenの場合、状況によって異なります。私は私のページ内の特定のdivの.htmlを、HTML、ヘッドを取得しているため、HTMLのボディ部分が含まアレント

関連する問題