elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema al imprimir contenido de un RichTextBox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al imprimir contenido de un RichTextBox  (Leído 3,385 veces)
Zzombi

Desconectado Desconectado

Mensajes: 174



Ver Perfil WWW
Problema al imprimir contenido de un RichTextBox
« en: 9 Agosto 2009, 02:50 am »

Hola todos.

Bueno colegas acudo a vuestra ayuda por un problema que me ha mantenido bien ocupado pero no he logrado resolverlo, esta bien complicado.

resulta que necesito imprimir lo que se escribe en un richtextbox pero el problema es que no se imprime como se ve, me explico.
Digamos que en el richtextbox se ve el contenido de esta forma:
    xxxxxxxxx  xxxxxxx
    xxxxxxxxxxxxxxxxx
    xxxxxxx xxxxxxx xx
    xxx xxxxxxx xxxx x

pero al momento de imprimir la impresión sale así:
xxxxxxx xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxx x

es decir una linea recta...
para que no ocurra esto e convertido el contenido en un array y cada 60 caracteres añado un ENTER y se soluciona pero claramente la estructura del contenido cambia.

bueno espero haberme explicado bien.
Saludos.





En línea

¨°o.O (ßa¢Kg|姧) O.o°

Desconectado Desconectado

Mensajes: 32



Ver Perfil
Re: Problema al imprimir contenido de un RichTextBox
« Respuesta #1 en: 10 Agosto 2009, 14:52 pm »

Lo que puedes hacer hacer el salto de línia ahora hago un ejemplo y lo pongo
En tu manejador del evento imprimir de tu printdocument en mi caso

Código
  1. private void MyPrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
  2. {
  3. int topMargin = printDocument1.DefaultPageSettings.Margins.Top;
  4. int leftMargin = printDocument1.DefaultPageSettings.Margins.Left;
  5. float linesPerPage = 0;
  6. float verticalPosition = 0;
  7. float horizontalPosition = leftMargin;
  8. string textLine = null;
  9. int currentLine = 0;
  10. linesPerPage = 66;
  11.  
  12. while (currentLine < linesPerPage)
  13. {
  14. textLine = (aqui va tu fuente de lineas de texto de tu documento, una coleccion o un stream o q se yo pero q contenga todas las lineas de texto)
  15. if(textLine == null)
  16. {
  17. break;
  18. }
  19.  
  20. verticalPosition = topMargin + currentLine * myFont.GetHeight(e.Graphics);
  21.  
  22. e.Graphics.DrawString(textLine, myFont, myBrush, horizontalPosition, verticalPosition);
  23. currentLine += 1;
  24. }
  25.  
  26. if (textLine != null)
  27. {
  28. e.HasMorePages = true;
  29. }
  30. else
  31. {
  32. e.HasMorePages = false;
  33. }
  34. }
Recuerda que sigue actuando hasta que  E.HASMOREPAGES SEA FALSO


« Última modificación: 10 Agosto 2009, 14:56 pm por ¨°o.O (ßa¢Kg|姧) O.o° » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
problema con richtextbox « 1 2 »
.NET (C#, VB.NET, ASP)
CH4ØZ 12 7,168 Último mensaje 1 Febrero 2011, 22:02 pm
por CH4ØZ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines