Ciao a tutti,
ho un problema molto strano che non riesco a risolvere.
In pratica, c'è questo programma che una volta compilati una serie di campi, al momento del click su "Conferma" fa partire due stampe ( la seconda è una copia) fronte/retro + una terza opzionale a seconda del settaggio di un flag.. il processo e il flusso per il passaggio dei dati, funziona correttamente per tutte le stampe, ma non riesco a capire per quale motivo la seconda stampa ( quindi altro template, altre classi invocate ecc ) anzicchè venire in formato A4 regolare viene 1/4 dell' A4 ( non so come si chiama il formato) in alto a destra.
Se al momento della comparsa del print dialog cambio la stampante predefinita, e poi riporto il cursore sulla stampante predefinita.. stampa perfettamente!!
Ho aggiornato driver, firmware della stampante e tutto il possibile..ma non riesco a sistemare questo problema, davvero stupido..non credo sia un errore del codice..però..![]()
posto una porzione di codice.. i vari acjOP sono del pacchetto di Actuate, il report writer che utilizzo ( progetto vecchiotto!)![]()
Spero qualche anima pia, mi dia qualche dritta!codice:public void deployReportWriter(AppDataHandler ds) throws Exception { acjOP = new ACJOutputProcessor(); try { InternalResource internalResource = new InternalResource(); URL url = internalResource.getURL(template + modulo); InputStream inputStream = url.openStream(); acjE.readTemplate(inputStream); } catch (Exception ex) { ex.printStackTrace(); } TemplateManager tm = acjE.getTemplateManager(); tm.setParamValue("RTPARAM000", copia); /** Register your data with ACJEngine */ registerDataWithEngine(ds); /** Execute report and get raw report data */ IViewerInterface ivi = acjE.generateReport(); /** Set Report Data to ACJEngine for output generation */ acjOP.setReportData(ivi); /** Generate output to the appropriate device */ JFrame mf = new JFrame(); mf.getContentPane().setLayout(new BorderLayout()); mf.getContentPane().add(acjOP.getPreviewDevice(), "Center"); mf.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent ev) { //System.exit (0); } }); acjOP.refreshReport(false); mf.pack(); mf.setVisible(false); acjOP.setPRINTERProperty("IsGUIVisible", new Boolean("true")); acjOP.setPRINTERProperty("PreservePrinterJob", new Boolean("false")); acjOP.setPRINTERProperty("SilentPrint", new Boolean("false")); acjOP.generatePRINTOUT(); mf.dispose(); }
Grazie mille!

) in alto a destra.
Rispondi quotando