2011-11-14 9 views

答えて

2

多くのサードパーティ製の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())。

+0

+1 PdfSharpの場合。素晴らしいツール! –

+0

コンテンツをHTMLファイルにレンダリングし、PDFではなくサーバーに保存するにはどうすればよいですか? –

+0

回答するコードを追加しました。 –

0

ユーザーコントロールは、テキストのみ基づいている限り、それはそこに任意のPDF作成ライブラリ(generating pdf、またはpdf creationの検索)でPDFとして出力することは困難ではありません。あなたのusercontrolsがより複雑なhtmlタグを持っているなら、基本的にHtml 2 Pdfライブラリを購入する必要があります。私はhtmlからpdfをサポートする許容される無料のライブラリを見つけることができませんでした。

テーブルをPDFで構築することもできますが、私の経験ではライブラリを購入することなく、HTMLテーブルからPDFテーブルに変換するのは非常に困難です。また、usercontrolとは別にPDFテーブルの構築をコード化することもできますが、その機能を組み込むことは非常に難しいです。