2016-09-28 19 views
-4

StringWriter & HtmlTextWriterを使用して自分のテーブル(System.Web.UI.WebControls)をPDFに変換しようとしていますが、エラーが発生したPDFファイルがあります。C#テーブルをPDFファイルに変換する

がここに私のコードです:

 table.RenderControl(htw); 
     HttpContext.Current.Response.Clear(); 
     HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=Reception.pdf"); 
     HttpContext.Current.Response.ContentType = "application/pdf"; 
     HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     //render the htmlwriter into the response 
     HttpContext.Current.Response.Write(headerTable); 
     HttpContext.Current.Response.Write(sw.ToString()); 
     HttpContext.Current.Response.End(); 

私が得た私は、PDFファイルを開くと、 "読み込み文書のPDFでのエラー"。

+2

エラーとは何ですか?誰かがあなたを助けるためには、完全で、最小限で、検証可能な例を提供する必要があります。これには、再現可能なコードとエラーの投稿が含まれます。 – Lexi

+0

ファイルを開くときに "pdfを読み込む際にエラーが発生しました"というメッセージが表示されます。 –

+0

swとは何ですか?これは、有効なPDFバイト配列または何が含まれていますか? –

答えて

0

まあクラスiTextSharpは、この作業をするために適切な..です 私はこれに私のコードを変更:

 table.RenderControl(htw); 
     StringReader sr = new StringReader(sw.ToString()); 
     Document pdfDoc = new Document(PageSize.A2, 10f, 10f, 10f, 0f); 
     HTMLWorker htmlparser = new HTMLWorker(pdfDoc); 
     PdfWriter.GetInstance(pdfDoc, Response.OutputStream); 
     pdfDoc.Open(); 
     htmlparser.Parse(sr); 
     pdfDoc.Close(); 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("content-disposition", "attachment;filename=Reception.pdf"); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     Response.Write(pdfDoc); 
     Response.End(); 
関連する問題