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());
}
}
}