Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Imprimir Con Calidad Un Pdf
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Imprimir Con Calidad Un Pdf 
 
Estoy imprimiendo pdf desde mi aplicación pero no salen con la misma calidad de impresión que cuando imprimo el archivo con evince, pro ejemplo las tablas salen con algunas lineas mas finas que otras causando un mal efecto, el mismo archivo desde evince lo imprime perfecto.

Abro el pdf con el componente  gb.pdf perfectamente hago zoom etc pero a la hora de imprimir con la suficiente calidad.
He probado con otra impresora distinta y sale igual.

El codigo esta basado en el ejemplo de gambas PDFViewer

el codigo para visualizar el pdf en el picturebox:
Public Sub RenderPage()
 '---------------------------------------------------------------------------
   'This function is called everytime something changed for example a new search result has to be displayed or the page
   'has canged the parameters FoundText and Casesensetivity are only of interrest if the funktion is called from a search frunction
   '--------------------------------------------------------------------------
   Dim hPic As Picture
   Dim Bc As Integer
  
   ScrollXPositionBeforeZoom = ScrollView1.ScrollX / ScrollView1.ScrollWidth
   ScrollYPositionBeforeZoom = ScrollView1.ScrollY / ScrollView1.ScrollHeight

   If CurrentZoom > 0.0 Then
      hPdf.Zoom = CurrentZoom
   Else
      Message.Error("Can't set zoom to " & CurrentZoom, "OK")
   Endif
  
   lblInfo.Text = " of" & " " & hPdf.Count  
   If txtGotoPage.text <> CurrentPage Then txtGotoPage.text = CurrentPage  'if the parameter currentPage is different from the current page the current page gets changed

   hPic = hPdf[CurrentPage].Image.Picture
  
   PictureBox1.Picture = hPic
   PictureBox1.Resize(hPdf[CurrentPage].Width, hPdf[CurrentPage].Height)
   Form_Resize()
  
Catch
   Message.Info("An error occurred whilst trying to view the document.\n\nIf this persists please report this problem.")
  
End
 


El codigo para imprimir

Public Sub Printer_Begin()

Inc Application.Busy
  hPrinter.Count = hPdf.Count
  printerZoom = hPdf.Zoom ' guardamos el zoom para ajustarlo despues de imprimir
  hPdf.Zoom = 1 '
End


Public Sub Printer_Draw()
  
  If Not hPdf.Ready Then Return
  
  
  hImage = hPdf[hPrinter.Page].Image
 
  Paint.DrawImage(hImage, 0, 0, hImage.Width, hImage.Height)
  
  
End

Public Sub Printer_End()
  
  hPdf.Zoom = CurrentZoom
Dec Application.Busy

End
 


También a ver si alguno sabéis como averiguar los margenes mínimos de la impresora
 



 
angelnu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Imprimir Con Calidad Un Pdf 
 
Me respondo yo mismo.

La forma que he encontrado para imprimir un PDF de forma decente es con el comando lp de CUPS
sale perfecto, como en el pdf esta el tamaño de pagina y margenes de pagina únicamente con:
Exec ["lp", sFiche] Wait For Read As "Proceso"

manda el fichero a la impresora predeterminada (para mas información man lp).
Imprimiendo en gambas el picture del PDF me salia la impresión muy pixelada.
 



 
angelnu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Imprimir Con Calidad Un Pdf 
 
angelnu:

Precisamente ayer, estuve mejorando un programa que muestra pdfs por pantalla ( turbopdf ), y para mejorar la calidad de lo que salia en pantalla al hacer zoom (al aumentar el tamaño), vi que modificando la propiedad,  .Zoom , se conseguia que saliera mejor definido.

Lo mismo se puede hacer lo mismo para imprimir con mayor calidad, sin usar comandos externos (lo bueno que tiene gambas, es que siempre tenemos esa posibilidad).

http://www.gambasdoc.org/help/comp/gb.pdf/pdfdocument/zoom

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Imprimir Con Calidad Un Pdf 
 
No pero el pdf  en pantalla queda perfecto con el metodo zoom, el problema es al imprimir, si imprimes con un zoom grande tienes que volver a redimensionar la imagen con lo que pierdes calidad, yo ponía el zoom a 1 antes de imprimir pero quedaba un poco pixelado, en cambio con el comando lp queda perfecto como si lo imprimieras desde evince.
 



 
angelnu - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Conceptos Básicos Para Mejorar La Calidad... fabianfv General 8 Sabado, 12 Marzo 2011, 19:28 Ver último mensaje
codificador
No hay nuevos mensajes Calidad De Los Programas Subidos A La Granja Shell General 10 Sabado, 01 Agosto 2015, 04:05 Ver último mensaje
Walter
No hay nuevos mensajes Printer.custom Y Calidad De Impresión(SOL... xmuno Controles/Librerías/Componentes 7 Jueves, 21 Julio 2016, 14:22 Ver último mensaje
xmuno
No hay nuevos mensajes GEC: Requisitos Para El Estándar De Calid... shordi Aplicaciones/Fragmentos de Código 4 Domingo, 27 Noviembre 2016, 13:23 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron