私はASP.NETユーザーコントロール、.ascxを持っており、ユーザーコントロールの内容でPDFを生成する必要があります。誰かが正しい方向に私を向けることができるなら、これは可能ですか?PDFを生成し、ASCX asp.netユーザコントロールの内容を読み込むにはどうすればよいですか?
おかげ
私はASP.NETユーザーコントロール、.ascxを持っており、ユーザーコントロールの内容でPDFを生成する必要があります。誰かが正しい方向に私を向けることができるなら、これは可能ですか?PDFを生成し、ASCX asp.netユーザコントロールの内容を読み込むにはどうすればよいですか?
おかげ
多くのサードパーティ製のPDF作成ツールがそこにあります。我々はうまく機能し、私の仕事で使用してきたものであるPdfSharp
限り、これはあなたが何をする必要があるかであるユーザーコントロールのテキストを出力するものとして:あなたは基本的にここでやっているの作成され
Page page = new Page();
HtmlForm form = new HtmlForm();
[USERCONTROL] uc = (ReportHeaderInfoUC)page.LoadControl("~/UserControls/[NAME OF YOUR USER CONTROL].ascx");
page.Controls.Add(form);
form.Controls.Add(uc);
//call the function on the user control that populates the control and pass in any data needed (if any)
uc.Populate(data);
StringWriter stringWriter = new StringWriter();
this.Server.Execute(page, stringWriter, false);
新しいWebFormを追加し、ユーザーコントロールを追加し、サーバーに出力をストリームにレンダリングさせます。これは、基本的にASP.NETが通常のページ要求に対して行う処理です。ファイル使用に出力されたユーザ制御の内容を書き込むには
:
File.WriteAllText([ファイルパス]、stringWriter.ToString())。
ユーザーコントロールは、テキストのみ基づいている限り、それはそこに任意のPDF作成ライブラリ(generating pdf
、またはpdf creation
の検索)でPDFとして出力することは困難ではありません。あなたのusercontrolsがより複雑なhtmlタグを持っているなら、基本的にHtml 2 Pdfライブラリを購入する必要があります。私はhtmlからpdfをサポートする許容される無料のライブラリを見つけることができませんでした。
テーブルをPDFで構築することもできますが、私の経験ではライブラリを購入することなく、HTMLテーブルからPDFテーブルに変換するのは非常に困難です。また、usercontrolとは別にPDFテーブルの構築をコード化することもできますが、その機能を組み込むことは非常に難しいです。
+1 PdfSharpの場合。素晴らしいツール! –
コンテンツをHTMLファイルにレンダリングし、PDFではなくサーバーに保存するにはどうすればよいですか? –
回答するコードを追加しました。 –