使用itextsharp在PDF图像上显示文本

Raj*_*dya 5 c# itext

我已经使用iTextsharp的HTMLWorker生成了PDF。在PDF中,我想在标记特定区域的图像上显示文本。为此,我使用了带div标签的位置,但它未在图像上显示文本,但是如果我在浏览器中运行相同的HTML,则它将在特定位置的图像上显示文本。

以下是我用来生成PDF的代码:

StringBuilder sReportHeader = new StringBuilder();

sReportHeader.Append("<table style=\"table-layout:fixed\" width=\"100%\" style=\"font-family:Verdana;font-size:8px;\">" +
                        "<tr>" +
                            "<td align=\"left\">" + @"<img src=\"http://localhost/img/image1.jpg\" width=\"520\"></img></td>" +
                        "</tr>" +
                    "</table>" +
                    "<div id=\"divArea1\" style=\"position:absolute;left:50px;top:250px;font-weight:bold;\">Area1</div>");

MemoryStream workStream = new MemoryStream();
Document document = new Document();
var worker = new HTMLWorker(document);
var pdfWriter = PdfWriter.GetInstance(document, workStream);
document.Open();
worker.StartDocument();
pdfWriter.CloseStream = false;
TwoColumnHeaderFooter twopdf = new TwoColumnHeaderFooter();
pdfWriter.PageEvent = twopdf;
twopdf.OnOpenDocument(pdfWriter, document);
worker.Parse(new StringReader(sReportHeader.ToString()));
worker.EndDocument();
worker.Close();
document.CloseDocument();
document.Close();

byte[] byteInfo = workStream.ToArray();
workStream.Write(byteInfo, 0, byteInfo.Length);
workStream.Position = 0;
pdfWriter.Flush();
pdfWriter.Close();

return new FileStreamResult(workStream, "application/pdf");
Run Code Online (Sandbox Code Playgroud)

我的代码中缺少什么吗?还是有使用iTextsharp在图像上显示文本的另一种方法?

iTextsharp: Version 5.5.13.0
Run Code Online (Sandbox Code Playgroud)

以下是可在浏览器中正常运行的HTML:

<table style="table-layout:fixed" width="100%" style="font-family:Verdana;font-size:8px;">
    <tr>
        <td align="left"><img src="http://localhost/TheAutoAuction/img/image1.jpg" width="520"></img></td>
    </tr>
</table>
<div id="divArea1" style="position:absolute;left:50px;top:250px;;font-weight:bold;">Area1</div>
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明