Pergunta

Como posso ocultar o cabeçalho como 'Página 1 de 1' e rodapé (url) ao imprimir um webcontol em ASP.NET?

Eu atualmente fazendo abrindo uma nova página no botão Imprimir clique ande nele

protected void Page_Load(object sender, EventArgs e)
{
    if( null != Session["Control"] )
    {
        Control ctrl = ( Control )Session["Control"];
        PrintManager.PrintWebControl( ctrl );
        Session["Control"] = null;
    }
}

Isto irá imprimir o cabeçalho e rodapé. Como evitá-lo?

Foi útil?

Solução

Essa configuração é definida pelo usuário no seu browser. Sua há nenhuma maneira de desativá-lo a partir do código. You'r melhor aposta é a de incluir instruções sobre como configurar / desativar as configurações.

Veja um exemplo aqui: http://www.xheo.com/products/sps/default. aspx? print = true

Outras dicas

Você deve usar estilos CSS e especificar que se aplicam a um tipo de mídia de impressão. Veja este artigo para obter ajuda; http://www.cantoni.org/articles/printstyle

Basicamente criar uma folha de estilo separada para apenas estilos de impressão. Se você quer esconder algo na { display:none } uso página como um dos que atributos de estilo elementos. Em seguida, ligar o seu estilo no elemento HEAD;

<link href="print.css" media="print" type="text/css" rel="stylesheet" />

Para isso, estamos usando a classe de impressão como ele

public static void PrintWebControl(Control ctrl)
{
    PrintWebControl(ctrl, string.Empty);
}

public static void PrintWebControl(Control ctrl, string Script)
{
    StringWriter stringWrite = new StringWriter();
    System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
    if (ctrl is WebControl)
    {
        Unit w = new Unit(100, UnitType.Percentage); ((WebControl)ctrl).Width = w;
    }
    Page pg = new Page();
    pg.EnableEventValidation = false;
    if (Script != string.Empty)
    {
        pg.ClientScript.RegisterStartupScript(pg.GetType(), "PrintJavaScript", Script);
    }
    HtmlForm frm = new HtmlForm();

    pg.Controls.Add(frm);
    // done changes on below 1 line for unassigned header URL //
    frm.ResolveUrl("");
    frm.Attributes.Add("runat", "server");
    frm.Controls.Add(ctrl);

    pg.DesignerInitialize();

    pg.RenderControl(htmlWrite);
    string strHTML = stringWrite.ToString();
    HttpContext.Current.Response.Clear();        
    HttpContext.Current.Response.Write(strHTML);
    HttpContext.Current.Response.Write("<script>window.print();</script>");
    HttpContext.Current.Response.End();
}

aqui apenas mudar uma linha na propriedade de formulário e set

frm.ResolveUrl("");

para URL não é visível quando a página é o uso print..i-lo com sucesso.

Se você estiver usando o Firefox, e você pode ter o cliente instalar este add-on .

Caso contrário, se você estiver usando o Internet Explorer: no Google por " MeadCo ScriptX "

(opção FF é livre, opção IE é livre para a funcionalidade básica apenas)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top