EXECUTAR MAIS QUE UM PRINTFORM PARA COMPOR UMA PAG
Bom dia!
Alguem conhece um modo de efetuar mais de um [Ô]me.printform[Ô] para compor uma página?
Meu problema é o seguinte, preciso imprimir boletos, porém só preciso da ficha de compensação, e considerando o tamanho dela, é possÃvel imprimir até 3 fichas de compensação por página.
Problemas:
1 - Pelo método [Ô]me.printform[Ô], só consigo imprimir a área do cliente, logo se eu fizer um form com 3 boletos ele corta o inÃcio do terceiro boleto, pois o form é menor que os 3 boletos...
2 - Fiz um form com um único boleto, e fui armazenando as impressões em uma picturebox e enviava com o paintpicture para a impressora a cada 3 boletos. Isso funcionou, porem a impressão é de baixa qualidade e o boleto sai todo distorcido.
Imaginei algo do tipo, porém não consegui fazer:
Com o form que possui apenas um único boleto, imaginei realizar o me.printform 3 vezes e por fim um printer.enddoc. Algo Assim:
me.printform
me.printform
me.printform
Printer.EndDoc
Porem isso não funciona, pois o printform [Ô]entende[Ô] que a cada printform realizado é uma nova página, logo, fazendo isso saem 3 páginas com um boleto em cada uma...
Pensei em ir imprimindo o boleto linha a linha e enviando para a impressora, mas contem labels, lines, picturebox com código de barras etc, vai dar muito trabalho e sem a garantia que vai ficar bom, por isso pensei na saÃda de mais de um printform por página, pois a qualidade é boa e já está tudo pronto...
Alguem tem alguma idéia, ou outro método que resolva?
Obrigado!
Alguem conhece um modo de efetuar mais de um [Ô]me.printform[Ô] para compor uma página?
Meu problema é o seguinte, preciso imprimir boletos, porém só preciso da ficha de compensação, e considerando o tamanho dela, é possÃvel imprimir até 3 fichas de compensação por página.
Problemas:
1 - Pelo método [Ô]me.printform[Ô], só consigo imprimir a área do cliente, logo se eu fizer um form com 3 boletos ele corta o inÃcio do terceiro boleto, pois o form é menor que os 3 boletos...
2 - Fiz um form com um único boleto, e fui armazenando as impressões em uma picturebox e enviava com o paintpicture para a impressora a cada 3 boletos. Isso funcionou, porem a impressão é de baixa qualidade e o boleto sai todo distorcido.
Imaginei algo do tipo, porém não consegui fazer:
Com o form que possui apenas um único boleto, imaginei realizar o me.printform 3 vezes e por fim um printer.enddoc. Algo Assim:
me.printform
me.printform
me.printform
Printer.EndDoc
Porem isso não funciona, pois o printform [Ô]entende[Ô] que a cada printform realizado é uma nova página, logo, fazendo isso saem 3 páginas com um boleto em cada uma...
Pensei em ir imprimindo o boleto linha a linha e enviando para a impressora, mas contem labels, lines, picturebox com código de barras etc, vai dar muito trabalho e sem a garantia que vai ficar bom, por isso pensei na saÃda de mais de um printform por página, pois a qualidade é boa e já está tudo pronto...
Alguem tem alguma idéia, ou outro método que resolva?
Obrigado!
Não daria certo criar um 4 form que puxe os dados dos outros 3 forms?
DAVIDNUNES, não dá, pois volto ao começo novamente... Como vou imprimir os três boletos após o 4º form tê-los recebido???
Minha dica é configure a a pagina para o tamanho do Boleto e faça um for para imprimir 03 vezes
exemplo:
Printer.PaperSize = vbPRPSUser [ô]definida pelo usuário
Printer.Height = [ô]altura da folha
Printer.Width = [ô]largura da folha
For f=1 to 3
Me.PrintForm
Next f
Printer.EndDoc
tente isto
exemplo:
Printer.PaperSize = vbPRPSUser [ô]definida pelo usuário
Printer.Height = [ô]altura da folha
Printer.Width = [ô]largura da folha
For f=1 to 3
Me.PrintForm
Next f
Printer.EndDoc
tente isto
Marcelo, valeu, mas não funciona, o resultado é o mesmo, 3 páginas com um boleto cada...
Me diz uma coisa você já tentou aumentar o form pra caber os tres boletos.
não sei como vc está fazendo mas esta é uma opção
a pagina que vc deseja imprimir está dentro de um MDIForm?
não sei como vc está fazendo mas esta é uma opção
a pagina que vc deseja imprimir está dentro de um MDIForm?
Marcelo, o problema é esse, os três boletos são grandes demais para um form, se não fosse isso, um único form com os três e um único [Ô]Me.PrintForm[Ô] resolveria.
O detalhe é que, como coloquei, é que para um forme é grande, mas não para um A4. Entendeu? No A4 cabem os 3, pois já fiz o teste utilizando uma picturebox, porem a resolução é muito ruim, o usuário vai reclamar...
O detalhe é que, como coloquei, é que para um forme é grande, mas não para um A4. Entendeu? No A4 cabem os 3, pois já fiz o teste utilizando uma picturebox, porem a resolução é muito ruim, o usuário vai reclamar...
Coloca um exemplo anexado ai para entender melhor
Bom você vai fazer o seguinte, coloque um MDI form no seu projeto, mude o nome para mdiImpressao.
Neste form que você está usando para imprimir mude a propriedade mdichild para True.
no mdiImpressao coloque uma toolbar, com dois botoes um para imprimir e outro para sair.
o form que vc está usando para imprimir não possui o mesmo tamanho da folha A4 então vamos resolver este problema.
o Tamanho do form é definido em Twips e a Folha em Milimetros, então teremos de fazer uma conversão para termos o tamanho exato do form como a folha A4.
então vamos a conversão, 01 milimetro possui 56.7 Twips, multiplicando-se o tamanhoem militros por 56.7 teremos o tamanho do form
210 * 56.7 = 11907
297 * 56.7 = 16840
então o form deverá ser configurado da seguinte maneira
.Height = 16840 [ô]altura
.Width = 11907 [ô]Largura
bom agora basta colocar os seus boletos e e pronto.
veja este exemplo que fiz pra vc entender melhor
no form1 coloque os seus boletos veja se cabe, e faça o teste
Neste form que você está usando para imprimir mude a propriedade mdichild para True.
no mdiImpressao coloque uma toolbar, com dois botoes um para imprimir e outro para sair.
o form que vc está usando para imprimir não possui o mesmo tamanho da folha A4 então vamos resolver este problema.
o Tamanho do form é definido em Twips e a Folha em Milimetros, então teremos de fazer uma conversão para termos o tamanho exato do form como a folha A4.
então vamos a conversão, 01 milimetro possui 56.7 Twips, multiplicando-se o tamanhoem militros por 56.7 teremos o tamanho do form
210 * 56.7 = 11907
297 * 56.7 = 16840
então o form deverá ser configurado da seguinte maneira
.Height = 16840 [ô]altura
.Width = 11907 [ô]Largura
bom agora basta colocar os seus boletos e e pronto.
veja este exemplo que fiz pra vc entender melhor
no form1 coloque os seus boletos veja se cabe, e faça o teste
David, não tem muito o que exemplificar, é um formulário com as seguintes dimensões:
Height = 6540
Width = 11580
Quero efetuar 3 prints dele em uma mesma página, pois não é possÃvel colocar 3 deles no mesmo form. Entendeu?
A altura máxima suportada para um form é 15360, falta um pouco, mas não atende, o necessário seria 19620. Acredito que esta altura esteja relacionada com a área do cliente, logo se eu pegar um usuário do tipo [Ô]cegueta[Ô] que usa um monitor de 14[Ô] com resolução de 800x600 vai reduzir mais ainda estas dimensões.
Height = 6540
Width = 11580
Quero efetuar 3 prints dele em uma mesma página, pois não é possÃvel colocar 3 deles no mesmo form. Entendeu?
A altura máxima suportada para um form é 15360, falta um pouco, mas não atende, o necessário seria 19620. Acredito que esta altura esteja relacionada com a área do cliente, logo se eu pegar um usuário do tipo [Ô]cegueta[Ô] que usa um monitor de 14[Ô] com resolução de 800x600 vai reduzir mais ainda estas dimensões.
Ve se esse exemplo resolve não sei se ajuda mais tamo tentando
Tópico encerrado , respostas não são mais permitidas