Newsgroup: it.comp.lang.delphi
Titolo: cambiare coda di stampa  da codice

Ciao a tutti,
qualcuno, come da oggetto, mi sa dire come si può fare da codice a selezionare la coda di stampa che voglio, di una stampante?
 
 
Spiegando meglio il mio programma a volte deve stampare un pdf a video, salvato su una cartella con nome la data del giorno, altre volte deve salvarlo con un nome fisso su un'altra cartella senza mostarlo a video. PDFcreator permette di impostare queste cosa, solo che non permette di creare due stampanti pdf, ma crea una stampante con due diversi spooler, o code di stampa (mi pare di aver capito), quindi io avrei la necessità a bisogno di stampare su una o sull'altra.
 
Qualcuno mi sa dare una dritta? grazie.
 
p.s.Uso delphi xe2 e quickreport.
 
-- 
mnoga

Hai gia visto questa:
 
http://msdn.microsoft.com/en-us/library/windows/desktop/dd183329%28v=vs.85%29.aspx
 
 
A.


intanto ti ringrazio, però ti chiedo una spiegazione:
 
il mio codice è questo:
 
 if Preview then
  begin
    x:=printer.Printers.IndexOf('Anteprima');
    if x>0 then
      printer.PrinterIndex:=x;
  end
  else
  begin
    x:=printer.Printers.IndexOf('Invio');
    if x>0 then
      printer.PrinterIndex:=x;
 end;
 
 Report.Print();
 
 
come dovrei usare questo addjob?
 
-- 
mnoga
 

 come dovrei usare questo addjob?
 
 
Non hai mai lavorato con le api di windows?
 
A.


ehm... si capisce no? :)
 
-- 
mnoga

 ehm... si capisce no? :)
 
 
Bene: vuol dire che è arrivato il momento, giusto? :-D
 
A.

 p.s.Uso delphi xe2 e quickreport.
 
Se ho capito bene a te serve creare un pdf giusto ???
Una volta creato, a seconda delle necessita', lo devi visualizzare a video 
e/o stamparlo e/o salvarlo in una directory.
In piu' usi XE2 e quickreport.
 
Mi sono trovato anch'io in una situazione simile e, dopo aver girato in 
lungo ed in largo la rete ho trovato questa bella procedura che puo' 
risolvere il tuo problema
(e magari anche di qualcun altro)
 
procedure ExportAsPdf(QuickRep: TQuickRep; const aFileName: TFileName);
var  Pdf: TPdfDocument; // devi trovare il file synpdf.zip
     aMeta: TMetaFile;
     i: integer;
begin
  Pdf := TPdfDocument.Create;
  try
    Pdf.DefaultPaperSize := psA4;
    QuickRep.Prepare;
    for i := 1 to QuickRep.QRPrinter.PageCount do begin
      Pdf.AddPage;
      aMeta := QuickRep.QRPrinter.GetPage(i);
      try
        // draw the page content
        Pdf.Canvas.RenderMetaFile(aMeta,1,0,0);
      finally
        FreeAndNil(aMeta);
      end;
    end;
    Pdf.SaveToFile(aFileName);
  finally
    FreeAndNil(Pdf);
  end;
end;
 
Devi, pero', trovare un file .zip dal nome synpdf.zip affinch'e' il tutto 
funzioni.
A questo link
http://synopse.info/forum/viewtopic.php?id=138
 
puoi trovare una delle molti discussioni su questo argomento.
 
In pratica, da quickreport, generi un file PDF salvato su disco, poi fai 
quello che vuoi.
Inoltre, un buon pdf viewer free e' sumatra pdf, leggero e molto ben fatto e 
per tutti gli usi.
Infine, una buona libreria per lavoare i pdf per delphi e' pdftoolkit della 
gnostice che costa 499 euro.
Al momento e' la migliore.
 
Ovviamente se ho capito bene ......in caso contrario ..... hai 
un'alternativa.
 
Ciao
 
Daniele 
 
 


si,se mi aiuti con qualche dritta magari capisco un pò meglio.. non sono troppo ferrato nell'argomento.. :(
 
-- 
mnoga


esatto, ti ringrazio molto! non mi è chiara una cosa, synpdf.zip è gratuita? a che dovrebbe servirmi pdftoolkit? 
grazie ancora
 
-- 
mnoga

 gratuita? a che dovrebbe servirmi pdftoolkit?
Si e' gratuita .... la trovi in diversi siti, basta usare un po google, 
comunque qui lo trovi
http://synopse.info/fossil/wiki?name=PDF+Engine
.
 
PDF ToolKit e' una libreria che ti permette di lavorare con i pdf e ti 
svincoli dai reader free o dalle installazioni obbligatorie di adobe reader.
Un esempio e' la tua applicazione, devi trovare sumatra pdf (o analogo) e 
distribuirlo con il tuo programma (sempre ammesso che non sia ad uso 
personale); con questa libreria puoi visualizzare i pdf senza aver 
installato adobe o reader vari, li puoi lavorare ovvero estrarre i testi, le 
immagini, aggiungere pagine, eliminarne di alre e cosi' via.
Per la mia applicazione (ad uso interno) l'ho acquistata e mi trovo non 
bene, di piu.
 
Naturalmente per i primi 30 gg la libreria e' gratuita.
Dacci un'occhiata.
 
Ciao e alla prossima.