ビューからデータから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のビューにデータを返す
- 4. ASP.NET 5 MVC 6コントローラからJavascriptを返す方法
- 5. ASP.NET MVCのビューからHTML文字列からPDFをダウンロード
- 6. asp.net mvc:別のコントローラでURLを返す
- 7. MVCコントローラから別のビューを返す
- 8. asp.net mvc/scriptからPDFファイルを開く
- 9. MVC - コントローラからasp.netページを開く
- 10. コントローラからのASP.NET MVCスローとハンドルエラー
- 11. MVCからjQueryへの文字列の配列を返すASP.NET
- 12. ActionLinkから値を返すASP.Net MVC
- 13. asp.net mvcルートからビューを返す
- 14. Webアプリケーション(asp.net MVC)からWord文書をロード/保存する
- 15. ASP.NET MVCコントローラ
- 16. ASP.Net MVCコントローラは
- 17. ポスト文字列コントローラへのasp.net MVC
- 18. Spring MVCコントローラからJSONまたはViewを返す
- 19. チャンクコンテンツを返すMVCコントローラ
- 20. JSONを返すASP.NET MVC 6コントローラを取得する
- 21. asp.net mvc - ビューとコントローラ
- 22. ASP.NET MVC - リポジトリ/サービス/コントローラ
- 23. ASP.NET MVC:私のコントローラ
- 24. ASP.NET MVCコントローラのライフサイクル
- 25. コントローラアクションからのRDFの返却 - ASP.NET MVC
- 26. MVC WEB APIコントローラからJSONを返す方法
- 27. mvcコントローラからjsonとして2次元配列を返す
- 28. ASp.NET MVCコントローラからJavaScript関数にデータを渡す
- 29. asp.net mvcのビューからコントローラへデータを渡す方法
- 30. ASP.NET MVC getJsonからコントローラに複数のパラメータを渡す
なぜmvc synrax razorでビルドを使用したくないのですか?または、クライアント側で行う必要がありますか? –
なぜあなたはそれをクライアント側で行う必要がありますか?なぜpdfサーバ側を生成し、バイトとしてpdfを返すのでしょうか? –