none
Imprimir etiquetas

    Question

  • Boa tarde,

    Estou com um problema. Estou tentando imprimir etiquetas numa impressoa matricial Epson LX-300.
    Não consigo configurar no navegador, ou css, ou javascript o tamanho da página a ser impressa. Como está configurado para uma A4, a impressão ultrapassa os limites da etiqueta.

    Estou programando em visual studio 2008, C# e asp.net. framework .net 2.5

    Alguém tem alguma solução possível para o meu problema?
    Wednesday, January 14, 2009 3:53 PM

Answers

  • Olá Stefanio Koiti,

    Cara, há bem pouco tempo tive q gerar umas etiquetas para vestibular, eram dois modelos de etiquetas diferentes.

    Quebrei a cabeça para tentar fazê-lo até q, vizinho à minha sala é a sala de Marketing e todas as etiquetas q eles precisavam fazer eram feitas num programinha da Pimaco, naquele momento todas as minhas dores de cabeça foram-se embora. O q fiz?

    Simples, criei uma tela onde o usuário pudesse escolher quais campos ele precisaria para gerar sua consulta e, ao clicar no botão, era gerada numa grid os dados e um novo botão apareceria para ele "EXPORTAR".

    Code Snippet


    '============================================================
    'FORMA DE USAR O ExportaExcel
    'Dim Tabela As New WebControls.DataGrid
    'Dim Ds As Data.DataSet
    'Ds = Estados.ConsultaAvancada(" E.Pais_Codigo = " & DDLConsPais.SelectedValue & " AND E.Est_Sigla LIKE '%" & UCase(TxtConsulta.Text) & "%' ")
    'Tabela.DataSource = Ds
    'Tabela.DataBind()

    'exportarExcel(Tabela, "ESTADOS DE " & DDLConsPais.SelectedItem.Text)
    '============================================================

    Public Function exportarExcel(ByVal grid As DataGrid, ByVal saveAsFile As String)

    ' O limite de linhas do Excel é 65536
    If grid.Items.Count.ToString + 1 < 65536 Then

    HttpContext.Current.Response.Clear()
    HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"
    HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" & saveAsFile & ".xls")
    ' Remover caracteres do header - Content-Type
    HttpContext.Current.Response.Charset = "iso-8859-1"
    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("iso-8859-1")
    ' desabilita o view state.
    grid.EnableViewState = False
    Dim tw As New System.IO.StringWriter()
    Dim hw As New System.Web.UI.HtmlTextWriter(tw)

    grid.RenderControl(hw)

    ' Escrever o html no navegador
    HttpContext.Current.Response.Write(tw.ToString())
    ' termina o response
    HttpContext.Current.Response.End()
    Else
    HttpContext.Current.Response.Write("MUITAS LINHAS PARA EXPORTAR PARA O EXCEL !!!")

    End If

    Return grid

    End Function




    Como o programa da Pimaco lê arquivos do excel, era só abrir o programinha e importar os dados.

    PROBLEMA: Em algunes clientes, esse arquivo é exportado no formato XML, parece-me q devido ao office instalado na máquina, no meu caso como ainda utilizo o Office 97 não tenho problemas com isso.

    SOLUÇÃO: O cliente teria q abrir o arquivo no excel e salvá-lo como Pasta de Trabalho Microsot Excel, para depois importar os dados pelo programa.

    É claro q se pudesse fazer as etiquetas dentro do meu sistema seria bem mais interessante, mas como não consegui fazê-lo, o jeito foi optar por esse meio e o cliente ficou feliz da vida pq agora ele poderá gerar outras etiquetas fora do sistema e o legal é q esse programa gera todos os formatos de etiquetas da Pimaco é só ter o código do produto e/ou as medidas.

    O site é este http://www.pimaco.com.br/ e o programa é free.

    Agora, um outro meio q descobri mais tarde é a criação de um formulário no servidor, o problema é q vc terá q ter todas as medidas certinhas da etiqueta e fazer isso em todos os clientes, ou criar uma tela explicando ao cliente como contruir este formulário. Veja aqui: http://www.babooforum.com.br/forum/index.php?showtopic=550489&mode=linear


    Bom, espero ter contribuido positivamente.
    Friday, January 16, 2009 12:27 PM
  • Opa ilanocf, desculpa a demora pra responder o post..
    vi sua resposta e eu tive a mesma idéia.

    Mas acabei resolvendo de outra maneira. Como o cliente tinha um padrão para as etiquetas. Eu fiz 3 páginas, uma para cada etiqueta. Como na configuração da impressora no navegador só tinha a folha A4 e outras quase do mesmo tamanho para configura para imprimir.
    Eu fiz o seguinte, considerei que iria imprimir numa página A4, mas eu limitei os dados no tamanho da etiqueta. E depois de alguns testes, eu consegui que saísse dentro das etiquetas normalmente.
    Não sei se deu pra entender a resposta.
    Foi meio que na gambiarra isso. Mas foi a solução que eu achei ao invés de exportar para algum outro programa.
    Tuesday, January 20, 2009 10:39 AM

All replies

  • Olá Stefanio Koiti,

    Cara, há bem pouco tempo tive q gerar umas etiquetas para vestibular, eram dois modelos de etiquetas diferentes.

    Quebrei a cabeça para tentar fazê-lo até q, vizinho à minha sala é a sala de Marketing e todas as etiquetas q eles precisavam fazer eram feitas num programinha da Pimaco, naquele momento todas as minhas dores de cabeça foram-se embora. O q fiz?

    Simples, criei uma tela onde o usuário pudesse escolher quais campos ele precisaria para gerar sua consulta e, ao clicar no botão, era gerada numa grid os dados e um novo botão apareceria para ele "EXPORTAR".

    Code Snippet


    '============================================================
    'FORMA DE USAR O ExportaExcel
    'Dim Tabela As New WebControls.DataGrid
    'Dim Ds As Data.DataSet
    'Ds = Estados.ConsultaAvancada(" E.Pais_Codigo = " & DDLConsPais.SelectedValue & " AND E.Est_Sigla LIKE '%" & UCase(TxtConsulta.Text) & "%' ")
    'Tabela.DataSource = Ds
    'Tabela.DataBind()

    'exportarExcel(Tabela, "ESTADOS DE " & DDLConsPais.SelectedItem.Text)
    '============================================================

    Public Function exportarExcel(ByVal grid As DataGrid, ByVal saveAsFile As String)

    ' O limite de linhas do Excel é 65536
    If grid.Items.Count.ToString + 1 < 65536 Then

    HttpContext.Current.Response.Clear()
    HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"
    HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" & saveAsFile & ".xls")
    ' Remover caracteres do header - Content-Type
    HttpContext.Current.Response.Charset = "iso-8859-1"
    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("iso-8859-1")
    ' desabilita o view state.
    grid.EnableViewState = False
    Dim tw As New System.IO.StringWriter()
    Dim hw As New System.Web.UI.HtmlTextWriter(tw)

    grid.RenderControl(hw)

    ' Escrever o html no navegador
    HttpContext.Current.Response.Write(tw.ToString())
    ' termina o response
    HttpContext.Current.Response.End()
    Else
    HttpContext.Current.Response.Write("MUITAS LINHAS PARA EXPORTAR PARA O EXCEL !!!")

    End If

    Return grid

    End Function




    Como o programa da Pimaco lê arquivos do excel, era só abrir o programinha e importar os dados.

    PROBLEMA: Em algunes clientes, esse arquivo é exportado no formato XML, parece-me q devido ao office instalado na máquina, no meu caso como ainda utilizo o Office 97 não tenho problemas com isso.

    SOLUÇÃO: O cliente teria q abrir o arquivo no excel e salvá-lo como Pasta de Trabalho Microsot Excel, para depois importar os dados pelo programa.

    É claro q se pudesse fazer as etiquetas dentro do meu sistema seria bem mais interessante, mas como não consegui fazê-lo, o jeito foi optar por esse meio e o cliente ficou feliz da vida pq agora ele poderá gerar outras etiquetas fora do sistema e o legal é q esse programa gera todos os formatos de etiquetas da Pimaco é só ter o código do produto e/ou as medidas.

    O site é este http://www.pimaco.com.br/ e o programa é free.

    Agora, um outro meio q descobri mais tarde é a criação de um formulário no servidor, o problema é q vc terá q ter todas as medidas certinhas da etiqueta e fazer isso em todos os clientes, ou criar uma tela explicando ao cliente como contruir este formulário. Veja aqui: http://www.babooforum.com.br/forum/index.php?showtopic=550489&mode=linear


    Bom, espero ter contribuido positivamente.
    Friday, January 16, 2009 12:27 PM
  • Opa ilanocf, desculpa a demora pra responder o post..
    vi sua resposta e eu tive a mesma idéia.

    Mas acabei resolvendo de outra maneira. Como o cliente tinha um padrão para as etiquetas. Eu fiz 3 páginas, uma para cada etiqueta. Como na configuração da impressora no navegador só tinha a folha A4 e outras quase do mesmo tamanho para configura para imprimir.
    Eu fiz o seguinte, considerei que iria imprimir numa página A4, mas eu limitei os dados no tamanho da etiqueta. E depois de alguns testes, eu consegui que saísse dentro das etiquetas normalmente.
    Não sei se deu pra entender a resposta.
    Foi meio que na gambiarra isso. Mas foi a solução que eu achei ao invés de exportar para algum outro programa.
    Tuesday, January 20, 2009 10:39 AM