【发布时间】:2012-03-16 11:46:27
【问题描述】:
我有一个过程,其中 html 与图像链接一起存储在数据库中。图像也存储在数据库中。我创建了一个从数据库读取图像的控制器操作。我生成的路径类似于/File/Image?path=Root/test.jpg。
此图像路径嵌入在 img 标签中的 html 中,例如 <img alt="logo" src="/File/Image?path=Root/001.jpg" />
我正在尝试使用 itextsharp 从数据库中读取 html 并创建一个 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");
此代码给了我一个非法字符错误。这来自图像标签,它不识别?和=字符,有没有办法可以用img标签渲染这个html,这样当我创建一个pdf时,它会从数据库中渲染html和图像并创建一个pdf,或者如果itextsharp不能这样做,你能提供给我吗有没有其他第三方开源工具可以完成这项任务?
【问题讨论】:
标签: html database image pdf itext