Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    [JAVA] Stampare fronte/retro

    Ciao a tutti,

    tramite il classe book() invio alla stampante 2 fogli, volevo chiedere se esiste un metodo per impostare da java una stampa fronte/retro.
    Tipo il setOrientation();

    Grazie mille

  2. #2
    A naso ti direi di no, perché si tratta di una delle opzioni della stampante, quindi bisognerebbe impostare i settings della stampante.
    Ma magari qualcuno ne sa più di me.

    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    A naso ti direi di no, perché si tratta di una delle opzioni della stampante, quindi bisognerebbe impostare i settings della stampante.
    Ma magari qualcuno ne sa più di me.

    Ciao.
    Ciao e Grazie per la risposta.

    il problema è proprio questo , visto che utilizzo la stampante per altre stampe sempre dallo stesso programma non posso impostare il fronte/retro di default.
    l'unica soluzione che ho trovato è quella di aprire ogni volta la printDialog è da li impostare a mano.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fcorsa Visualizza il messaggio
    volevo chiedere se esiste un metodo per impostare da java una stampa fronte/retro.
    A "naso" (e solo guardando il javadoc ... non ho modo di provare su una stampante che faccia il fronte-retro automatico ):

    codice:
    HashPrintRequestAttributeSet attrSet = new HashPrintRequestAttributeSet();
    attrSet.add(Sides.DUPLEX);
    
    if (job.printDialog(attrSet)) {
        // ..... job.print(); .....
    }

    (HashPrintRequestAttributeSet è in javax.print.attribute mentre Sides è in javax.print.attribute.standard)
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    A "naso" (e solo guardando il javadoc ... non ho modo di provare su una stampante che faccia il fronte-retro automatico ):

    codice:
    HashPrintRequestAttributeSet attrSet = new HashPrintRequestAttributeSet();
    attrSet.add(Sides.DUPLEX);
    
    if (job.printDialog(attrSet)) {
        // ..... job.print(); .....
    }

    (HashPrintRequestAttributeSet è in javax.print.attribute mentre Sides è in javax.print.attribute.standard)
    Grazie andbin,

    funziona alla grande.

  6. #6
    ultima cosa andbin,
    esiste un attributo anche per il cassetto della stampante, perché vengono identificati con i numeri 1, 2 , 3, ...


    Grazie mille

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fcorsa Visualizza il messaggio
    Grazie andbin,

    funziona alla grande.
    Bene. Tieni presente che quel setting, impostato così, è predefinito ma l'utente potrebbe cambiarlo nella print dialog.

    Quote Originariamente inviata da fcorsa Visualizza il messaggio
    ultima cosa andbin,
    esiste un attributo anche per il cassetto della stampante, perché vengono identificati con i numeri 1, 2 , 3, ...
    Sempre "a naso" (mai usato prima): javax.print.attribute.standard.MediaTray
    Verifica.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Sempre "a naso" (mai usato prima): javax.print.attribute.standard.MediaTray
    Verifica.
    Ciao andbin,
    innanzitutto grazie della disponibilità.
    per capire di quali vassoi dispongono le stampanti ho creato una funzione che mi da questa stampa :

    Lista Stampanti installate : ZDesigner ZM400 300 dpi (ZPL)
    Lista Stampanti installate : ZDesigner TLP 2844
    Lista Stampanti installate : HP LaserJet Professional P1606dn
    Lista Stampanti installate : HP Color LaserJet M651 PCL 6
    Lista Stampanti installate : Fax
    Lista Stampanti installate : Bullzip PDF Printer
    Lista Stampanti installate : Adobe PDF


    Stampanti con vassoio Botton : HP LaserJet Professional P1606dn
    Stampanti con vassoio MANUAL : ZDesigner ZM400 300 dpi (ZPL)
    Stampanti con vassoio MANUAL : ZDesigner TLP 2844
    Stampanti con vassoio MANUAL : HP LaserJet Professional P1606dn
    Stampanti con vassoio MIDDLE : HP LaserJet Professional P1606dn
    Stampanti con vassoio TOP : HP LaserJet Professional P1606dn
    Stampanti con vassoio TOP : Fax

    utilizzando un
    PrintService[] service = PrintServiceLookup.lookupPrintServices(null,attr_s et);
    per i vari attributi di MediaTray.

    Analizzando, la stampante "HP Color LaserJet M651 PCL 6" che fisicamente ha diversi vassoi non viene elencata.
    forse utilizza attributi diversi ?
    E' possibile avere informazioni su tutti gli attributi di una stampante in modo da identificare i vassoi ?

    spero di essere stato chiaro.
    grazie

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da fcorsa Visualizza il messaggio
    E' possibile avere informazioni su tutti gli attributi di una stampante in modo da identificare i vassoi ?
    Prova questo, l'ho scritto e provato "al volo" (lo verificherò meglio appena ho tempo):

    codice:
    import java.util.Arrays;
    
    import javax.print.PrintService;
    import javax.print.PrintServiceLookup;
    import javax.print.attribute.Attribute;
    
    class StampaAttributiStampanti {
        public static void main(String[] args) {
            PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
    
            for (PrintService service : services) {
                System.out.println(service);
    
                Class<?>[] categories = service.getSupportedAttributeCategories();
    
                for (Class<?> category : categories) {
                    Object supportedValues = service.getSupportedAttributeValues((Class<? extends Attribute>) category, null, null);
    
                    System.out.format("   %s -> %s%n",
                            category.getSimpleName(),  // nome semplice, senza package
                            valueDescription(supportedValues));
                }
            }
        }
    
        private static String valueDescription(Object obj) {
            if (obj instanceof Object[]) {
                return Arrays.toString((Object[]) obj);
            } else {
                return obj.toString();
            }
        }
    }
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Prova questo, l'ho scritto e provato "al volo" (lo verificherò meglio appena ho tempo):
    si blocca sulla seconda stampante:

    Win32 Printer : NPI815782 (HP Color LaserJet CP2025n)
    JobName -> Java Printing
    RequestingUserName -> Corsaro
    Copies -> 1-9999
    Destination -> file:/C:/Users/Corsaro/workspace/ProveVarie/out.prn
    OrientationRequested -> [portrait, landscape, reverse-landscape]
    PageRanges -> [1-2147483647]
    Media -> [na-letter, na-legal, executive, iso-a3, iso-a4, iso-a5, jis-b4, jis-b5, b, na-number-10-envelope, iso-designated-long, iso-c5, iso-b5, monarch-envelope, oufuko-postcard, 16K, Executive (JIS), 8K, ledger, A4/3, Executive JIS, Form-Source, Selez. automatica stam, Alim. manuale vass. 1, Vassoio 1, Vassoio 2, Vassoio 3, Vassoio 4, Non specificato, Normale, Prestampata, Intestata, Lucido, Perforata, Etichette, Fine, Riciclata, Colorata, Leggera 60-75 g/m2, Pesante 106-163 g/m2, Cartoncino >164 g/m2, Lucida 75-105 g/m2, Lucida pesante, Carta resistente, Busta]
    MediaPrintableArea -> [(6.011,4.233)->(203.877,270.933)mm, (4.233,4.233)->(207.433,347.133)mm, (4.233,4.233)->(175.683,258.233)mm, (6.011,4.233)->(284.946,411.522)mm, (4.233,4.995)->(201.507,286.978)mm, (4.233,4.233)->(139.531,201.507)mm, (6.011,4.233)->(244.941,355.515)mm, (4.995,4.233)->(172.0,248.497)mm, (6.35,4.233)->(266.7,423.333)mm, (4.233,4.233)->(96.266,232.833)mm, (4.233,4.233)->(101.515,211.497)mm, (4.233,4.995)->(153.501,218.99)mm, (4.233,4.995)->(167.513,239.988)mm, (4.233,4.233)->(89.916,182.033)mm, (4.233,4.233)->(139.531,191.516)mm, (4.233,4.233)->(188.383,264.583)mm, (4.995,4.233)->(205.952,321.522)mm, (6.35,4.233)->(260.35,385.233)mm, (6.35,4.233)->(266.7,423.333)mm, (4.233,4.233)->(91.525,201.507)mm, (4.995,4.233)->(205.952,321.522)mm]
    Fidelity -> [false, true]
    SheetCollate -> [collated, uncollated]
    SunAlternateMedia -> alternatate-media: iso-a4
    Chromaticity -> [monochrome, color]
    PrinterResolution -> [60000x60000 dphi]
    Win32 Printer : ZDesigner ZM400 300 dpi (ZPL)
    JobName -> Java Printing
    RequestingUserName -> Corsaro
    Copies -> 1-32000
    Destination -> file:/C:/Users/Corsaro/workspace/ProveVarie/out.prn
    OrientationRequested -> [portrait, landscape, reverse-landscape]
    PageRanges -> [1-2147483647]
    Media -> [manual]
    MediaPrintableArea -> []
    Fidelity -> [false, true]
    SheetCollate -> [collated, uncollated]
    Exception in thread "main" java.lang.NullPointerException

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.