提供思路
读取源HTML文件
byte[] downloadBytes = SomeMethond(url);获取源文件
        System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
        response.Clear();
        response.AddHeader("Content-Type", "binary/octet-stream");
        response.AddHeader("Content-Disposition",
            "attachment; filename=" + downloadName + "; size=" + downloadBytes.Length.ToString());
        response.Flush();
        response.BinaryWrite(downloadBytes);
        response.Flush();
        response.End();

解决方案 »

  1.   

    先把html转成word. 然后处理.using   WebSupergoo.ABCpdf4;   
      using   WebSupergoo.ABCpdf4.Objects;   
      using   WebSupergoo.ABCpdf4.Atoms;   
        
      //这个是要生成pdf文档的源文件的地址   
      string   strUrl   =   "http://localhost/PR/TempFiles/PrintDetail.aspx";   
      string   strFolder   =   "D:\test_pdf\";   
      string   strPageName   =   "test.pdf";   
        
      Doc   doc   =   new   Doc();   
      doc.Rect.Inset(72,144);   
      l_intTemp   =   doc.AddImageUrl(strUrl,true,0,true);   
        
      while   (true)     
      {   
      doc.FrameRect();   
      if   (doc.GetInfo(l_intTemp,   "Truncated")   !=   "1")   
      break;   
      doc.Page   =   doc.AddPage();   
      l_intTemp   =   doc.AddImageToChain(l_intTemp);   
      }     
        
      for   (int   i   =   1;   i   <=   doc.PageCount;   i++)     
      {   
      doc.PageNumber   =   i;   
      doc.Flatten();   
      }   
        
        
      doc.Save(strFolder   +   strPageName);   
      doc.Clear();
      

  2.   

    不能直接解析HTML到pdf么?
    itextsharp里不是有解析的东西么?
    ITextSharp.Text.html.simpleparser;
    这里面不是有HTMLWorker类么?
    他里面有Parse解析功能吧?