Visualizzazione dei risultati da 1 a 10 su 17

Hybrid View

  1. #1
    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

  2. #2
    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

  3. #3
    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

  4. #4
    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

  5. #5
    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
    si blocca sulla seconda stampante:

    Exception in thread "main" java.lang.NullPointerException
    In effetti la documentazione di getSupportedAttributeValues dice che può restituire null. Non l'avevo considerato nel valueDescription.

    Semplicemente per sicurezza, correggi da

    return obj.toString();

    a

    return obj != null ? obj.toString() : "---nessun valore---";
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.