Java ByteArrayInputStream в C# с использованием iTextSharp XMLWorker

Я использую ITextSharp, и я хотел включить CSS в мой PDF. Ниже мой текущий код:

ByteArrayInputStream bis = new ByteArrayInputStream(htmlSource.toString().getBytes());  
ByteArrayInputStream cis = new ByteArrayInputStream(cssSource.toString().getBytes());
XMLWorkerHelper.getInstance().parseXHtml(writer, document, bis, cis);

Но проблема в том, что мне не хватает ссылки на ByteArrayInputStream, Четное System.IO не могу исправить ошибку. Есть ли другие способы обойти это?

Большое спасибо!

1 ответ

Простой рабочий пример, с которого можно начать:

var html = "<h1>H1</h1>";
var css = "h1 {font-size: 2em;}";

using (var htmlStream = new MemoryStream(Encoding.UTF8.GetBytes(html)))
{
    using (var cssStream = new MemoryStream(Encoding.UTF8.GetBytes(css)))
    {
        using (var memoryStream = new MemoryStream())
        {
            using (var document = new Document())
            {
                PdfWriter writer = PdfWriter.GetInstance(
                    document, memoryStream
                );
                document.Open();
                XMLWorkerHelper.GetInstance().ParseXHtml(
                    writer, document, htmlStream, cssStream
                );
            }
            File.WriteAllBytes(OUTPUT_FILE, memoryStream.ToArray());
        }
    }
}
Другие вопросы по тегам