É POSSÍVEL EDITAR O PRINTDOCUMENT ?

MARCOS 24/08/2016 14:47:48
#466136
Boa tarde!
Conclui uma rotina (VB.NET), que entre outras opções, me permite imprimir
certos dados numa impressora . Estou usando o objeto PrintDocument
do VisualStudio.NET.Estou conseguindo imprimir sem problemas.
Mas,tem duas coisas que não estou conseguindo de modo algum:

1.) Definir uma determinada impressora como padrão ( Usando o PrintDocument )
2.) Redefinir as margens para impressão ( Usando o PrintDocument )
3.) Redirecionar a impressão para outra impressora ( Usando o PrintDocument )

Algum colega, sabe como realizar estas operações, usando o PrintDocument ?
KERPLUNK 24/08/2016 17:49:22
#466144
Resposta escolhida
1 - A propriedade PrinterName da classe PrinterSettings, é o que você procura

System.Drawing.Printing.PrinterSettings newSettings = new System.Drawing.Printing.PrinterSettings();
instanciaDePrintDocument.PrinterSettings.PrinterName = newSettings.PrinterName;

2 - A propriedade Margins da classe PageSettings é o que você procura

Margins margins = new Margins(100,100,100,100);
instanciaDePrintDocument.DefaultPageSettings.Margins = margins;

3 - Praticamente o mesmo que a primeira.

instanciaDePrintDocument.PrinterSettings.PrinterName = printer;
MARCOS 25/08/2016 10:50:57
#466172
Pessoal,
Implementei as sugestões do colega Kerplunk.
Mas, no Momento em que executo o método Print do objeto PrintDocument é exibida uma exceção ( [Ô]Configuração inválida para esta impressora [Ô]) .

Obs: Se eu ao usar o PrintDocument , não editar o nome da impressora. Ou seja, deixar que as impressões sejam feitas na impressora padrão da
máquina, a impressão ocorre normalmente.

Meu problema real é o seguinte:Eu, ao usar o PrintDocument do Visual Studio, somente estou conseguindo imprimir até um certo
local da página (Oficio). Se eu peço para imprimir num local muito embaixo da página, a impressora não imprime nada.
MARCOS 26/08/2016 15:43:42
#466209
Pessoal,
Consegui resolver o problema.
Ao que parece, se você na propiedade [Ô]PrintName[Ô] fornecer o nome da impressora.
Simplesmente não funciona.é necessário fornecer o caminho completo na rede e
mais o nome da impressora.

Tópico encerrado , respostas não são mais permitidas