Alex
Alex

Reputation: 9720

ABCpdf not applying inline css styles

In my aspx page I have this script with the following css

<style type="text/css">
        .subcontainer{margin: 0 auto; padding-top: 20px}
       .hide-val{display:none;}
    </style>

In the browser the page is loads ok, div with class hide-val is not displayed but when I use AddImageURL styles is not being applied.

Doc theDoc2 = new Doc();

            theDoc2.HtmlOptions.UseScript = true;
            theDoc2.HtmlOptions.Media = MediaType.Print;
            theDoc2.HtmlOptions.InitialWidth = 1048;

            //for multiple page
            theDoc2.Rect.Inset(10, 30);

            theDoc2.Page = theDoc2.AddPage();
            int theID2;
            theID2 = theDoc2.AddImageUrl(urlToHtmlPage);

            while (true)
            {
                theDoc2.FrameRect(); // add a black border
                if (!theDoc2.Chainable(theID2))
                    break;
                theDoc2.Page = theDoc2.AddPage();
                theID2 = theDoc2.AddImageToChain(theID2);
            }

            for (int i = 1; i <= theDoc2.PageCount; i++)
            {
                theDoc2.PageNumber = i;
                theDoc2.Flatten();
            }
            //end multipage 
            theDoc2.Save(HttpContext.Current.Server.MapPath("htmlimport.pdf"));
            theDoc2.Clear();

I have seen many questions like this but I haven't found the answer

How can I add the css style in the doc?

Upvotes: 1

Views: 1546

Answers (1)

Moose
Moose

Reputation: 5412

Since you specified theDoc2.HtmlOptions.Media = MediaType.Print;, have you tried marking your css for @media print?

Like so:

<style type="text/css">
  @media print {
       .subcontainer{margin: 0 auto; padding-top: 20px}
       .hide-val{display:none;}
  }
</style>

Alternatively, take out the line theDoc2.HtmlOptions.Media = MediaType.Print;

I haven't verified this, but it's worth a shot.

Upvotes: 1

Related Questions