問題タブ [rotativa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - MVC 4 & Rotativa HTML から PDF カバー ページの問題
MVC 4 で Rotative を使用しています。ヘッダー、フッター、カバー ページを作成するためのカスタム スウォッチを実装しました。
私の税関はコードの下にあります
PDF が正しく生成されません。表紙の上部にスペースが挿入されますが、ヘッダーが原因であると思われます。ヘッダーからヘッダーの html を削除すると、Cover は完全に正常に動作しているように見え、上から始まります。
カバーにヘッダーとフッターが含まれてはならないことは理解できるので、カバーを実装しました。しかし、まだいくつかの問題があります。実際の PDF を生成する前に完全な HTML を取得できれば、問題のある場所をデバッグできます。
ヘッダーやフッターなどを含む実際の PDF を取得する前に、完全な HTML を取得する方法はありますか?
c# - Rotativa を使用すると、「ファイルまたはアセンブリを読み込めませんでした」というエラーが発生する
MVC アプリケーション (Visual Studio を使用して NuGet パッケージをダウンロード) で Rotativa を使用してビューを PDF に出力しようとしていますが、メソッドが呼び出されるたびに「ファイルまたはアセンブリを読み込めませんでした」というエラーが表示されます。オンラインで解決策を探してみましたが、適切な解決策が見つかりません。以下は、エラーの完全なスタック トレースです。
「/」アプリケーションでサーバー エラーが発生しました。
ファイルまたはアセンブリ 'System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.IO.FileLoadException: ファイルまたはアセンブリ 'System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
ソース エラー:
48 行目: "ViewOrder"、49 行目: new { id = id }) { FileName = "Order.pdf" }; 50行目: } 51行目: 52行目: [HttpGet]
ソース ファイル: c:\Users\André\Documents\WAD\Assignment1\7-10-2015\Controllers\OrdersController.cs 行: 50
アセンブリ ロード トレース: 次の情報は、アセンブリ 'System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' を読み込めなかった理由を特定するのに役立ちます。
=== バインド前の状態情報 === LOG: DisplayName = System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35 (完全指定) LOG: Appbase = file:///C: /Users/André/Documents/WAD/Assignment1/7-10-2015/ LOG: Initial PrivatePath = C:\Users\André\Documents\WAD\Assignment1\7-10-2015\bin アセンブリの呼び出し: Rotativa、Version=1.0 .0.0、カルチャ = ニュートラル、PublicKeyToken = null。=== ログ: このバインドは、デフォルトのロード コンテキストで開始されます。ログ: アプリケーション構成ファイルの使用: C:\Users\André\Documents\WAD\Assignment1\7-10-2015\web.config ログ: ホスト構成ファイルの使用: C:\Users\André\Documents\IISExpress\config\aspnet .config ログ: C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config のマシン構成ファイルを使用しています。ログ: ポリシー後の参照: System.Web.Mvc、バージョン = 3.0.0.1、Culture=neutral, PublicKeyToken=31bf3856ad364e35 ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc. DLL。ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc/System.Web.Mvc.DLL . ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Users/André/Documents/WAD/Assignment1/7-10-2015/bin/System.Web.Mvc.DLL。WRN: アセンブリ名を比較すると、不一致が発生しました: メジャー バージョン ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。新しい URL ファイルのダウンロードを試みています:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc/System.Web.Mvc.DLL。ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Users/André/Documents/WAD/Assignment1/7-10-2015/bin/System.Web.Mvc.DLL。WRN: アセンブリ名を比較すると、不一致が発生しました: メジャー バージョン ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。新しい URL ファイルのダウンロードを試みています:///C:/Users/André/AppData/Local/Temp/Temporary ASP.NET Files/root/66e12f45/a5c0a521/System.Web.Mvc/System.Web.Mvc.DLL。ログ: 新しい URL ファイルのダウンロードを試みています:///C:/Users/André/Documents/WAD/Assignment1/7-10-2015/bin/System.Web.Mvc.DLL。WRN: アセンブリ名を比較すると、不一致が発生しました: メジャー バージョン ERR: アセンブリのセットアップを完了できませんでした (hr = 0x80131040)。プローブが終了しました。
スタックトレース:
[FileLoadException: ファイルまたはアセンブリ 'System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)]
_7_10_2015.Controllers.OrdersController.PrintOrder(Int32 id) in c:\Users\André\Documents\WAD\Assignment1\7-10-2015\Controllers\OrdersController.cs:50 lambda_method(Closure , ControllerBase 、 Object[] ) +161
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase コントローラー、Object[] パラメーター) +59
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext、IDictionary 2 パラメーター) +602 parameters) +435
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
System.Web.Mvc.Async.ActionInvocation.InvokeSynchronousActionMethod() +76 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__36(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +36
System.Web.Mvc.Async.WrappedAsyncResult 1.End() + 136 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +102 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49 System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3c( ) +117 System.Web.Mvc.Async.<>c__DisplayClass45.b__3e() +323 System.Web.Mvc.Async.<>c__DisplayClass30.b__2f(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.WrappedAsyncResult 1. End() +1362.CallEndDelegate(IAsyncResult asyncResult) +73
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +47
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +102
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50
System.Web.Mvc.Async.<>c__DisplayClass28.b__19 () +72 System.Web.Mvc.Async.<>c__DisplayClass1e.b__1b(IAsyncResult asyncResult) +185
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult asyncResult、Object タグ) +56 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40 System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult、ExecuteCoreState innerState) +34 System.Web.Mvc. Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.WrappedAsyncResultBase1.CallEndDelegate(IAsyncResult asyncResult) +70
1.End() +133
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +56
System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +37
System.Web .Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Controller.b__15(IAsyncResult asyncResult、コントローラー コントローラー) +39
System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +133 System.Web. Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +37 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) + 391.CallEndDelegate(IAsyncResult asyncResult) +62
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39
System.Web.Mvc.MvcHandler.b__4(IAsyncResult asyncResult, ProcessRequestState innerState) +39
System.Web.Mvc.Async .WrappedAsyncVoid 1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +37 システム.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 結果) +381.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9721605 System.Web.HttpApplication.ExecuteStep(IExecutionStep ステップ、Boolean& completedSynchronously) +155
Rotativa の ActionAsPDF を使用したコード サンプル:
誰かがこれを修正するのを手伝ってくれて本当に感謝しています。
c# - Rotativa - ViewAspdf がサーバー上で動作しない
このトピックがいくつかの記事で議論されていることは知っていますが、解決策はどれも役に立ちません。
私はこのアクションを持っています:
上記のアクションを使用して、ビューを pdf としてダウンロードしていますが、コンピューターですべてが期待どおりに機能しています。
プロジェクトをサーバーにデプロイした後、このアクションが機能せず、エラーが返されます:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
私はVisual Studio Community 2015を使用しています。サーバー上には、Rotativa.dll
Rotativa という名前のルートディレクトリに と という名前のファイルがあるフォルダーもありますwkhtmltopdf.exe
。
このエラーの処理方法がわかりません。いくつかの提案をいただけますか?
asp.net-mvc-5 - Rotativa が常にログイン ページを生成するのはなぜですか? なぜ遅いのですか?
この Rotativa 1.6.4 コード例を使用して、.NET MVC 5 アプリのページから PDF を生成していました。
インデックス ページを印刷していたのではなく、ログイン ページを印刷していました。
認証の問題を修正したら、.pdf を使用しても PDF の生成が非常に遅くなりましたCustomSwitches
。(数分)
上記のコードは実際に機能する可能性がありCookies
ます。プロパティを使用して認証の問題を回避しましたが、私には遅すぎました。
安全なページをすばやく印刷するにはどうすればよいですか?
pdf - .net mvc 5を使用してフォルダー内に存在する保存済みpdfを送信する方法
ロタティバを使用しています。MVC を使用してビューから PDF を生成するため、PDF を添付して電子メールを送信できます。次のコードはそうします:
私の質問は、「MVC アプリケーションの Content/Pdf フォルダーに保存されている PDF ファイルを C# コード内から取得して、同じ方法で電子メールに添付するにはどうすればよいですか?」ファイル、ストリームリーダー、およびHttpContext.Server.MapPathで何度も試しましたが、成功しませんでした。MapPathオプションを使用すると、電子メールに開くことができないテキスト ドキュメントが含まれていました。
asp.net-mvc - MVC アプリケーションで Rotativa を使用して PDF にエクスポートされた Webgrid
Rotativa ライブラリを使用して、数百のレコードを含む Webgrid を PDF にエクスポートしています。データをPDFに正常にエクスポートできますが、問題は、グリッドに非常に多くのレコードが含まれているため、pdfのすべてのページに列ヘッダーがあることです。このため、PDF のすべてのページで、列ヘッダーが列の内容と重なっています。すべてのページではなく、 pdf の最初のページにのみ列ヘッダーを配置したい。
部分ビュー (_Report.cshtml) は次のとおりです。
コントローラのコードは次のとおりです。
以下は、PDF の 2 ページ目のスクリーンショットです。
そして、それはPDFのすべてのページで起こっています。
PDFのすべてのページではなく、最初のページにのみ列ヘッダーを配置するか、PDFにエクスポートするコンテンツをスタイルする他の方法がある場合は、誰でも助けてください。前もって感謝します。