Differenze tra le versioni di "Stampare un file con le funzioni del API di cups"

Da Gambas-it.org - Wikipedia.
Riga 4: Riga 4:
 
Mostriamo di seguito un semplice e breve codice per stampare un file:
 
Mostriamo di seguito un semplice e breve codice per stampare un file:
 
  '''Public''' Struct Cups_option_s    <FONT color=gray>' ''Opzioni di stampa''</font>
 
  '''Public''' Struct Cups_option_s    <FONT color=gray>' ''Opzioni di stampa''</font>
   name As String                <FONT color=gray>' ''Nome dell'opzione''</font>
+
   name As Pointer              <FONT color=gray>' ''Nome dell'opzione''</font>
   value As String         <FONT color=gray>' ''Valore dell'opzione''</font>
+
   value As Pointer         <FONT color=gray>' ''Valore dell'opzione''</font>
 
  '''End''' Struct
 
  '''End''' Struct
 
   
 
   

Versione delle 10:45, 10 nov 2013

Per stampare un file con le funzioni esterne del API di Cups, e dunque senza l'uso della Classe Printer, bisognerà richiamare l'attuale libreria esterna: libcups.so.2 .


Mostriamo di seguito un semplice e breve codice per stampare un file:

Public Struct Cups_option_s     ' Opzioni di stampa
  name As Pointer               ' Nome dell'opzione
  value As Pointer	        ' Valore dell'opzione
End Struct

Library "libcups:2"

' int cupsPrintFiles(const char *name, int num_files, const char **files, const char *title, int num_options, cups_option_t *options)
Private Extern cupsPrintFiles(name As String, num_files As Integer, files As String[], title As String, num_options As Integer, options As Cups_option_s) As Integer


Public Sub Main()

 Dim $file As New String[10]
 Dim err As Integer


  $file[0] = "percorso/del/file/da/stampare/"


' Nel primo argomento va inserito il nome della stampante che dovrà stampare il file.
' Tale nome è uguale a quello del file .ppd afferente alla stampante,
' presente nella cartella "/etc/cups/ppd" e privo della sua estensione:
  err = cupsPrintFiles("nome-della-stampante", 1, $file, $file[0], 0, Null)
  if err = 0 then Error.Raise("Stampa del file fallita !")

End