htmlが画像リンク付きデータベースに保存されるプロセスがあります。画像もDBに保存されます。私はデータベースから画像を読み込むコントローラーアクションを作成しました。私が生成しているパスは/File/Image?path=Root/test.jpg
のようなものです。 はこのイメージパスはこのコードは、私に不正な文字を与え、私は、データベースからHTMLを読み込み、PDF文書データベースからの画像でitextsharpを使ってpdfを作成する
string _html = GenerateDocumentHelpers.CommissioningSheet(fleetId);
string _html = GenerateDocumentHelpers.CommissioningSheet(fleetId);
Document _document = new Document(PageSize.A4, 80, 50, 30, 65);
MemoryStream _memStream = new MemoryStream();
PdfWriter _writer = PdfWriter.GetInstance(_document, _memStream);
StringReader _reader = new StringReader(_html);
HTMLWorker _worker = new HTMLWorker(_document);
_document.Open();
_worker.Parse(_reader);
_document.Close();
Response.Clear();
Response.AddHeader("content-disposition", "attachment; filename=Commissioning.pdf");
Response.ContentType = "application/pdf";
Response.Buffer = true;
Response.OutputStream.Write(_memStream.GetBuffer(), 0, _memStream.GetBuffer().Length);
Response.OutputStream.Flush();
Response.End();
return new FileStreamResult(Response.OutputStream, "application/pdf");
を作成するためにitextsharpを使用しようとしている<img alt="logo" src="/File/Image?path=Root/001.jpg" />
のようなimgタグでHTMLに埋め込まれていますエラー。これはイメージタグから来て、認識していませんか?と=文字は、私はimgタグでこのHTMLをレンダリングする方法があるので、私はそれがデータベースからHTMLとイメージをレンダリングし、pdfを作成するか、またはitextsharpがそれを行うことができない場合は、このタスクを達成できる他のサードパーティのオープンソースツールですか?
ありがとう、魅力的な作品です! – user1230089
@Chris、あなたのコードは "using"の内部にあるので、本当にdoc.Close()が必要ですか? – Alexandre
あなたは正しいです、私はお互いのバランスをとるように私のコマンドが好きです。明示的にopenを使用すると、明示的にcloseを使用するのが好きです。個人の好み。 –