ビューからデータからhtmlページを生成する最適な方法は何ですか?私はすべてのテーブルなどでHTMLテンプレートを持っています.JqueryTemplateのようなテンプレートを使用したくないです。Asp.net MVCコントローラからPDF文書を返す
5
A
答えて
2
ちょうどpdfサーバー側を作成し、HTMLビューの代わりにファイルを返します。 私は、PDFプロバイダの種類は、あなたが使用しませんが、このiTextSharpのためのソリューション:
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
Session["MySessionVariable"] = "My Session Variable Value assigned in Index";
return View();
}
public ActionResult About()
{
return View();
}
public string RenderViewAsString(string viewName, object model)
{
// create a string writer to receive the HTML code
StringWriter stringWriter = new StringWriter();
// get the view to render
ViewEngineResult viewResult = ViewEngines.Engines.FindView(ControllerContext, viewName, null);
// create a context to render a view based on a model
ViewContext viewContext = new ViewContext(
ControllerContext,
viewResult.View,
new ViewDataDictionary(model),
new TempDataDictionary(),
stringWriter
);
// render the view to a HTML code
viewResult.View.Render(viewContext, stringWriter);
// return the HTML code
return stringWriter.ToString();
}
[HttpPost]
public ActionResult ConvertThisPageToPdf()
{
// get the HTML code of this view
string htmlToConvert = RenderViewAsString("Index", null);
// the base URL to resolve relative images and css
String thisPageUrl = this.ControllerContext.HttpContext.Request.Url.AbsoluteUri;
String baseUrl = thisPageUrl.Substring(0, thisPageUrl.Length - "Home/ConvertThisPageToPdf".Length);
// instantiate the HiQPdf HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// hide the button in the created PDF
htmlToPdfConverter.HiddenHtmlElements = new string[] { "#convertThisPageButtonDiv" };
// render the HTML code as PDF in memory
byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(htmlToConvert, baseUrl);
// send the PDF file to browser
FileResult fileResult = new FileContentResult(pdfBuffer, "application/pdf");
fileResult.FileDownloadName = "ThisMvcViewToPdf.pdf";
return fileResult;
}
[HttpPost]
public ActionResult ConvertAboutPageToPdf()
{
// get the About view HTML code
string htmlToConvert = RenderViewAsString("About", null);
// the base URL to resolve relative images and css
String thisPageUrl = this.ControllerContext.HttpContext.Request.Url.AbsoluteUri;
String baseUrl = thisPageUrl.Substring(0, thisPageUrl.Length - "Home/ConvertAboutPageToPdf".Length);
// instantiate the HiQPdf HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// render the HTML code as PDF in memory
byte[] pdfBuffer = htmlToPdfConverter.ConvertHtmlToMemory(htmlToConvert, baseUrl);
// send the PDF file to browser
FileResult fileResult = new FileContentResult(pdfBuffer, "application/pdf");
fileResult.FileDownloadName = "AboutMvcViewToPdf.pdf";
return fileResult;
}
}
出典:
+0
あなたは私を噛みました。始めから始めることができます。あなたの本当の事は何ですか?何をしたいですか?コントローラーの有無にかかわらず、コントローラーからhtmlページへのデータの送信には多くの種類があります –
6
はhiqpdf html to pdf converter、市販の製品を使用して、このアプローチを試してみてくださいこのサンプルコード:How to convert HTML to PDF using HiQPDF
+0
私は3日間pdfファイルを検索していました。しかし、この解決策は良いです。ありがとう – MustafaP
関連する問題
- 1. ASP.NET MVCコントローラのシングルトン辞書?
- 2. コントローラからのASP.NET MVCリライトパス
- 3. ASP.NET MVCのビューからHTML文字列からPDFをダウンロード
- 4. asp.net-mvcコントローラのアクションから生の配列を返す方法
- 5. コントローラからasp.net mvcのビューにデータを返す
- 6. ASP.NET 5 MVC 6コントローラからJavascriptを返す方法
- 7. asp.net mvc:別のコントローラでURLを返す
- 8. ASP.NET MVC 5コントローラでhttpの文字列を返す方法は?
- 9. asp.net mvc/scriptからPDFファイルを開く
- 10. MVCコントローラから別のビューを返す
- 11. MVCコントローラからPlain Jsonを返す
- 12. MVC - コントローラからasp.netページを開く
- 13. Rotativa HTMLからPDFへのASP.NET MVC?
- 14. コントローラからのASP.NET MVCスローとハンドルエラー
- 15. WebAPIからpdfを渡し、pdfをMVCコントローラから読み取るには?
- 16. ASP.NET MVCコントローラ
- 17. ASP.Net MVCコントローラは
- 18. MVCからjQueryへの文字列の配列を返すASP.NET
- 19. ActionLinkから値を返すASP.Net MVC
- 20. asp.net mvcルートからビューを返す
- 21. Webアプリケーション(asp.net MVC)からWord文書をロード/保存する
- 22. ポスト文字列コントローラへのasp.net MVC
- 23. ASP.NET MVCアプリケーションのEFコントローラからビューを返す際の接続エラー
- 24. asp.netの警告/メッセージを返しますAjaxのないコントローラからのMVC?
- 25. パラメータに基づいてASP.NET MVCコントローラのアクションからJSONを返します
- 26. MVC C#返す前にコントローラからのファイルを返すPartialView
- 27. Spring MVCコントローラからJSONまたはViewを返す
- 28. PartialviewとJSONをMVC 5コントローラから返す
- 29. ASP.NET MVCコントローラのライフサイクル
- 30. ASP.NET MVC:私のコントローラ
なぜmvc synrax razorでビルドを使用したくないのですか?または、クライアント側で行う必要がありますか? –
なぜあなたはそれをクライアント側で行う必要がありますか?なぜpdfサーバ側を生成し、バイトとしてpdfを返すのでしょうか? –