Â
You can detect if a PDF page has transparency using ElementReader (as shown in ElementReader  rample - http://www.pdftron.com/pdfnet/samplecode.html#ElementReader).
Â
To detect if there is transparency on a page you would need to check if there is any
Â
a)Â Â Â Â Â Transparency groups
b)Â Â Â Â Â Blend modes
c)Â Â Â Â Â Â Opacity values smaller than 1
ÂÂ
static bool CheckIfPageHasTransparency(ElementReader reader)
{
     Element element;
     while ((element = reader.Next()) != null)      // Read page contents
     {
           if (ProcessGSChanges(element)) return true;
Â
           if (element.GetType() == Element.Type.e_form)
           {
                 reader.FormBegin();
Â
                 Obj grp = element.GetXObject().FindObj("Group");
                 if (grp != null) {
                       Obj grp_subtype = grp.FindObj("S");
                       if(grp_subtype!=null && grp_subtype.IsName() && grp_subtype.GetName() == "Transparency"))
                             return true;
                 }
Â
                 ProcessElements(reader);
                 reader.End();
                 break;
           }
     }
}
Â
static bool ProcessGSChanges(Element element)
{
     GState gs=element.GetGState();
     for(GSChangesIterator itr=m_reader.GetChangesIterator(); itr.HasNext(); itr.Next())
     {
           switch(itr.Current()) {
           case GState.GStateAttribute.e_opacity_fill :
                 if (gs.GetFillOpacity()<1) return true;
                 break;
           case GState.GStateAttribute.e_opacity_stroke :
                 if (gs.GetStrokeOpacity()<1) return true;
                 break;
           case GState.GStateAttribute.e_soft_mask :
                 if(gs.GetSoftMask() != null) return true;
                 break;
           case GState.GStateAttribute.e_blend_mode:
                if(gs.GetBlendMode() != GState::e_bl_normal)
                       return true;                Â
                 break;
           default:
                 break;
           }
     }
Â
     return false;
}