iTextSharp を使用して HTML (ソース サイトは google: http://www.google.co.in/ ) を PDF に変換しています。
私のコード:
protected void Page_Load(object sender, EventArgs e)
{
WebClient wc = new WebClient();
string HTMLCode = wc.DownloadString("http://www.google.co.in/");
var result = createPDF(HTMLCode);
}
private MemoryStream createPDF(string html)
{
MemoryStream msOutput = new MemoryStream();
TextReader reader = new StringReader(html);
// step 1: creation of a document-object
Document document = new Document(PageSize.A4, 30, 30, 30, 30);
// step 2:
// we create a writer that listens to the document
// and directs a XML-stream to a file
PdfWriter writer = PdfWriter.GetInstance(document, msOutput);
// step 3: we create a worker parse the document
HTMLWorker worker = new HTMLWorker(document);
// step 4: we open document and start the worker on the document
document.Open();
worker.StartDocument();
// step 5: parse the html into the document
worker.Parse(reader);
// step 6: close the document and the worker
worker.EndDocument();
worker.Close();
document.Close();
return msOutput;
}
ここから createPDF 関数を参照しました。
しかし、私は以下のエラーが発生しています
タイプ「iTextSharp.text.html.simpleparser.CellWrapper」のオブジェクトをタイプ「iTextSharp.text.Paragraph」にキャストできません。
iTextSharp ライブラリに問題がありますか? ちなみに私はitextsharp-dll-core-5.3.0を使っています