Стили CSS не применяются к PDF с помощью iTextSharp

Я пытаюсь преобразовать часть моей веб-страницы в pdf с помощью iTextSharp, и хотя генерация pdf работает правильно, ни один из стилей CSS не применяется. Я'мы пытались применять стили по одному, но это неКажется, не работает. Это то, что ямы до сих пор придумали:

//Get the portion of the page to convert.
StringBuilder sb = new StringBuilder();
print_div.RenderControl(new HtmlTextWriter(new StringWriter(sb)));
string html = sb.ToString();

//Generate a random filename to use for the pdf
Guid random_guid;
random_guid = Guid.NewGuid();
string fileName = random_guid.ToString() + ".pdf";
string filename_with_folder = @"pdf\sl_" + fileName;
string fullFilePath = System.IO.Path.Combine(Request.PhysicalApplicationPath, filename_with_folder);

using (Document doc = new Document())
{
    // Create the pdf
    PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(fullFilePath, FileMode.Create));
    doc.Open();
    try
    {
        //Set the font size for all elements
        StyleSheet styles = new StyleSheet();
        styles.LoadStyle("body", "fontsize", "8px");

        //Write the content to the pdf document
        StringReader sr = new StringReader(html);
        XMLWorkerHelper.GetInstance().ParseXHtml(writer, doc, sr);
    }
    catch (Exception ex)
    {
    }
    doc.Close();
}

Я что-то пропустил? Я начал использовать HTMLWorker и перешел на XMLWorker, но я думаю, чтоЯ просто смущаюсь. Помощь будет оценена.

Попытка № 2

Спасибо за ответ! Это то, что ямы придумали, но это не такт работает. Мой контент нетеперь вообще не появляется в pdf, а яЯ не уверен, почему. Какие-нибудь мысли?

using (Document doc = new Document())
{
    PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(fullFilePath, FileMode.Create));
    doc.Open();

    // CSS
    var cssResolver = new StyleAttrCSSResolver();
    var cssFile = XMLWorkerHelper.GetCSS(new FileStream(HttpContext.Current.Server.MapPath("~/css/print.css"), FileMode.Open));
    cssResolver.AddCss(cssFile);

    // HTML
    CssAppliers ca = new CssAppliersImpl();
    HtmlPipelineContext hpc = new HtmlPipelineContext(ca);
    hpc.SetTagFactory(Tags.GetHtmlTagProcessorFactory());

    // PIPELINES
    PdfWriterPipeline pdf = new PdfWriterPipeline(doc, writer);
    HtmlPipeline htmlPipe = new HtmlPipeline(hpc, pdf);
    CssResolverPipeline css = new CssResolverPipeline(cssResolver, htmlPipe);

    XMLWorker worker = new XMLWorker(css, true);
    XMLParser p = new XMLParser(worker);
    StringReader sr = new StringReader(html);
    p.Parse(sr);
    doc.Close();
}

Я близко, или я упускаю суть полностью?

Ответы на вопрос(3)

Ваш ответ на вопрос