2017-04-24 10 views
0

私は、複数のフォームからPDFを生成することに非常に慣れていません。 実際、私はあらゆる種類のプログラミング言語を使用してPDFを生成したことはありません。今私は何をしたいのか2つの方法を試しています。残念なことに数日後、私はまだこれを行う方法を見つけていません。C#ASP.NET MVCビューRotativaまたはiTextSharpからPDFを作成しますか?

私は、3つの異なるリストを使用したデータで複数のフォームをあらかじめ入力しています。このフォームのPDFを生成したいと思いますが、私はこれにRotativaを使用しています。残念ながら、PDFを生成するメソッドを呼び出すと、ビューのPDFが生成されますが、データは欠落しています。 iTextSharpを使用すると、iTextSharpを使用してこのPDFをサーバーに保存することができるかどうかはわかりません。

質問:どのような方法を使用しますか?何を指示してるんですか? RotativaまたはiTextSharpを使用していますか?

Q2:これはプログラミングにあまり経験のない人にとっては有効ですか、別の方法を見つけるべきですか? I

Q3:これを行う方法がまだありませんか?私は第三者のソフトウェアを使用しない方法を好むだろう。

+0

私たちにあなたがiTextので、これまで書いてきたコードを表示します。 –

答えて

1

公共バイト[] GetPDF(文字列PHTML)になりますPDFコンテンツのあなたのバイト配列を与える方法を作成する必要があります{ バイト[] bPDF = null;

MemoryStream ms = new MemoryStream(); 
TextReader txtReader = new StringReader(pHTML); 

// 1: create object of a itextsharp document class 
Document doc = new Document(PageSize.A4, 25, 25, 25, 25); 

// 2: we create a itextsharp pdfwriter that listens to the document and directs a XML-stream to a file 
PdfWriter oPdfWriter = PdfWriter.GetInstance(doc, ms); 

// 3: we create a worker parse the document 
HTMLWorker htmlWorker = new HTMLWorker(doc); 

// 4: we open document and start the worker on the document 
doc.Open(); 
htmlWorker.StartDocument(); 

// 5: parse the html into the document 
htmlWorker.Parse(txtReader); 

// 6: close the document and the worker 
htmlWorker.EndDocument(); 
htmlWorker.Close(); 
doc.Close(); 

bPDF = ms.ToArray(); 

return bPDF; 

}

0

ITextSharpを使用して、PDF(Portable Document Format)を生成できる.NET PDFライブラリを使用します。

まず、プロジェクトにiTextSharpのリファレンスを追加する必要があります。

パッケージマネージャを使用してiTextSharpリファレンスを取得できます。参照をダウンロードして追加するには、次のコマンドを実行するだけです。

PM>インストール・パッケージのiTextSharpを

は今、あなたは、そう私たちのコードは

関連する問題