2

Main Purpose: I want to be able optionally displaying background image for any tag.

I have a code that converts html to pdf:

public static byte[] ToPdf(String html, String css = null)
    {
        using (var stream = new MemoryStream())
        {
            using (var doc = new Document())
                using (var writer = PdfWriter.GetInstance(doc, stream))
                {
                    doc.Open();

                    using (var msCss = new MemoryStream(Encoding.UTF8.GetBytes(css ?? String.Empty)))
                    using (var msHtml = new MemoryStream(Encoding.UTF8.GetBytes(html)))
                        XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, msHtml, msCss);

                    doc.Close();
                }

            return stream.ToArray();
        }
    }

The html that I pass is

<div class="useBG">Hello, world!</div>

The useBG style:

.useBG { background-image: url(data:image/png;base64, iVB...=); }

I have tried to

  1. Pass useBG as a css parameter to the function
  2. Write 'style' block in html parameter
  3. Add style directly to the div style="background-image: url(data:image/png;base64,..."

Nothing works. Can you help me, please.

Igor
  • 131
  • 1
  • 9

0 Answers0