NAO ESTA IMPRIMINDO EM DRAFT

RKDTONDELLO 05/10/2011 10:15:09
#386001
estou com um problema em um relatorio. espero que voces me ajudem.
seguinte...
criei um relatório em crystal report 10.. com a impressora LX 300 + II e defini todas as letras como draft12 tamanho 10..
quando imprimo via crystal report ela imprime perfeito em draft e bem rapido..
mas quando eu utilizo o componente CrystalReportView pelo Visual Studio 2008 ele imprime com a letra em currier new, deixando a impressão muito lenta.
gostaria de saber qual o motivo que esta causando isso e como posso resolver..

código utilizado para fazer a impressão..
myReport = GeraRelNovo(mySql, myRel, FormChamou, mySql2, myRel2) [ô] gera o relatorio
myReport.PrintOptions.PrinterName = CType(ListBox1.SelectedItem.ToString, String)
myReport.PrintOptions.PaperSize = CType(System.Drawing.Printing.PaperKind.Letter, CrystalDecisions.Shared.PaperSize)
myReport.PrintToPrinter(txtNumCopias.Value, chkAgrupar.Checked, txtStarPage.Text, txtEndPage.Text)
PROFESSOR 24/10/2011 23:14:39
#387639
Bom, a questão é que ao usar o Crystal, você definiu a impressora, mas a aplicação vai utilizar a impressora-padrão naquele momento.

No CRX, mude a impressora desse relatório para [Ô]Generic[Ô], pois dessa forma, ele não tentará apontar uma configuração pré-definida no aplicativo Crystal Reports (e que não existe na aplicação VB), mas aceitará o que a aplicação VB indicar. E na sua aplicação, sempre abra sempre a janela de configuração da impressora antes de imprimir, para que o usuário confirme as opções.

Isso é devido ao fato de que cada impressora, cada modelo, possui formatos de papel, resoluções, modos de impressão, em suma, características diferentes entre sí. O que vale, sempre, em tempo de execução, é o que você configurou no aplicativo. E se não configurou nada, vale o que está no Windows. Esse abaixo é um trecho de exemplo da Microsoft, para configurar uma impressora, só fiz uns comentários nele.


Private Sub MyButtonPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyButtonPrint.Click
[ô] Set the paper size based upon the selection in the combo box.
If comboPaperSize.SelectedIndex <> -1 Then [ô]Este combo é carregado com a lista de papéis que a impressora padrão possui.
printDoc.DefaultPageSettings.PaperSize = _
printDoc.PrinterSettings.PaperSizes.Item(comboPaperSize.SelectedIndex)
End If
[ô] Set the paper source based upon the selection in the combo box.
If comboPaperSource.SelectedIndex <> -1 Then [ô]Este combo, com as orígens do papel (ex.: Frontal, bandeja, superior etc)
printDoc.DefaultPageSettings.PaperSource = _
printDoc.PrinterSettings.PaperSources.Item(comboPaperSource.SelectedIndex)
End If
[ô] Set the printer resolution based upon the selection in the combo box.
If comboPrintResolution.SelectedIndex <> -1 Then [ô]E este, finalmente, é carregado com as resoluções (draft, se existir).
printDoc.DefaultPageSettings.PrinterResolution = _
printDoc.PrinterSettings.PrinterResolutions.Item(comboPrintResolution.SelectedIndex)
End If
[ô] Print the document with the specified paper size and source.
printDoc.Print()
End Sub



Para preencher as listas, os combos, você depende da impressora instalada. Por exemplo, as resoluções, podem ser listadas assim:
...
Dim resolução As PrinterResolution
For i = 0 to (meuDoc.PrinterSettings.PrinterResolutions.Count - 1)
resolução = meuDoc.PrinterSettings.PrinterResolutions.Item(i)
cboResolucao.Items.Add(resolução)
Next
...


Lembrando então, a primeira rotina CONFIGURA a impresão, a segunda CARREGA as configurações possíveis para o combo. Assim que as configurações estiverem preparadas, o impresso do Crystal, desde que feito na [Ô]Generic[Ô], seguirá o configurado.

Ou ao menos deveriam seguir, comigo funciona, ainda que eu use pouco o Crystal.
Tópico encerrado , respostas não são mais permitidas