Autore Topic: [RISOLTO] Stampare report in PDF da programma  (Letto 1031 volte)

Offline Ricky Riva

  • Gamberetto
  • *
  • Post: 15
    • Mostra profilo
[RISOLTO] Stampare report in PDF da programma
« il: 19 Novembre 2013, 22:32:54 »
Salve a tutti. Non riesco ad uscire da questo problema: eseguo una query sul mio DB e creo un report (utilizzando il componente gb.report), ne faccio una Preview() e fin qui tutto ok. il Report Viewer ha il suo bravo pulsantino di stampa che mi da anche la possibilità di stampare su file in PDF, ed anche questo è perfetto.
Quello che vorrei fare è di automatizzare tutto il processo, creando il pdf ed inviandolo via mail.
La parte di invio mail è già a posto e funzionante ma non mi riesce in nessun modo di stampare da programma il report. Ho letto parecchie cose e devo confessare che tra Print, Draw, Paint ecc. ho una certa confusione in testa...

Grazie dell'aiuto
« Ultima modifica: 23 Novembre 2013, 18:27:03 da Ricky Riva »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Stampare report in PDF da programma
« Risposta #1 il: 19 Novembre 2013, 22:53:48 »
Non so se può esserti d'aiuto con i Report questa pagina della nostra WIKI:

http://www.gambas-it.org/wiki/index.php?title=Stampare_un_file_PDF
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Ricky Riva

  • Gamberetto
  • *
  • Post: 15
    • Mostra profilo
Re: Stampare report in PDF da programma
« Risposta #2 il: 20 Novembre 2013, 00:08:09 »
Non so se può esserti d'aiuto con i Report questa pagina della nostra WIKI:

http://www.gambas-it.org/wiki/index.php?title=Stampare_un_file_PDF

uhmmm... mi pare di capire che non posso creare direttamente file in PDF da programma. Sono tutti modi per aprire un file PDF già esistente, convertirlo in una immagine per poi stamparlo.
In pratica quello che faccio "a mano" schiacciando il pulsante stampa del Report Viewer e poi stampando su file, non lo posso fare in automatico.
Ho capito bene?

In ogni caso, mille grazie per la risposta.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Stampare report in PDF da programma
« Risposta #3 il: 20 Novembre 2013, 00:17:48 »
uhmmm... mi pare di capire che non posso creare direttamente file in PDF da programma.

Ti segnalo quest'altra pagina:

http://www.gambas-it.org/wiki/index.php?title=Creare_un_file_PDF
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Ricky Riva

  • Gamberetto
  • *
  • Post: 15
    • Mostra profilo
Re: Stampare report in PDF da programma
« Risposta #4 il: 23 Novembre 2013, 00:25:02 »
Dunque, di sicuro ho le idee un po' più chiare, pertanto, ancora grazie.
Nel mio caso ho aggiunto un oggetto printer ("Printer1") al report. Nella routine Printer1_Draw, che viene richiamata automaticamente dall'istruzione Printer1.print, dovrei disegnare il report usando la classe Paint. Qui ci ho messo l'istruzione MioReport.paint(printer1.count) ed in effetti questa volta non mi è venuta fuori la solita pagina bianca. L'unica cosa è che il contenuto del report viene un po' rimpicciolito e risulta meno leggibile.
Se ci fossero suggerimenti anche per sistemare quest'ultima cosa sarebbero molto apprezzati.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Stampare report in PDF da programma
« Risposta #5 il: 23 Novembre 2013, 01:30:25 »
L'unica cosa è che il contenuto del report viene un po' rimpicciolito e risulta meno leggibile.
Se ci fossero suggerimenti anche per sistemare quest'ultima cosa

Dovresti impostare il corretto valore della proprietà .Resolution che deve essere presente nel solito gruppo:
Codice: gambas [Seleziona]

With Printer1
   .Configure
   .Resolution = .....
   . etc...etc...


proprietà che non ho inserito nel paragrafo relativo alla creazione di un file .PDF, ma che puoi vedere prevista in quest'altro paragrafo di quella pagina:
http://www.gambas-it.org/wiki/index.php?title=Printer#Stampare_in_Gambas



Nel caso volessi impostare il valore della predetta proprietà .Resolution uguale alla risoluzione del tuo video, puoi fare così:
Codice: gambas [Seleziona]

With Printer1
  .Resolution =  Desktop.Resolution
  .etc...etc...
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Ricky Riva

  • Gamberetto
  • *
  • Post: 15
    • Mostra profilo
Re: Stampare report in PDF da programma
« Risposta #6 il: 23 Novembre 2013, 18:26:20 »
Esatto, proprio quello che stavo facendo! ;D
Segno come risolto e ringrazio molto per l'aiuto.

W GAMBAS!