我需要将html写入pdf文档并在文档中间注入生成的.png。我无法使用iTextSharp找到一种方法。
总的.pdf大约是4页没有图像,图像应该在标题后的第一页上。
我当前的代码看起来像
public void generatePDF(string sData, Bitmap bmp) //sData is html
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline;filename=summary.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
var sr = new StringReader(sData);
using (Document pdfDoc = new Document())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
pdfDoc.Add(iTextSharp.text.Image.GetInstance(bmp, BaseColor.BLACK));
XMLWorkerHelper.GetInstance().ParseXHtml(
writer, pdfDoc, sr
);
Response.Write(pdfDoc);
}
Response.End();
}
我正在将图像写入文本之前的.pdf,因此它被推到顶部,但理想情况下我想用图像替换一些占位符文本。
编辑:
sData是从文件系统读取的.html文件中的文本,然后有大量搜索/替换。
答案 0 :(得分:0)
我解决了这个问题,它并不像我希望的那样优雅。
基本上,我将html文档拆分为一个字符串数组,用于包含图像占位符段的重要段。然后,我在将数组添加到.pdf时检查占位符文本,并将其替换为图像。