Java Windows UTF-8 (unicode) Drucken

Habe ich das problem, dass, wenn Sie in windows, und Sie versuchen zu drucken, die durch die JAVA können Sie nur verwenden, die AUTOSENSE-Eigenschaft.
Aber mein string, den ich will das gedruckt wird, ist im griechischen => UTF-8. Wenn ich die AUTOSENSE-zu TEXT_PLAIN_UTF8 ich ein: Sonne.drucken.PrintJobFlavorException: ungültige Geschmack Ausnahme....

Irgendwelche Vorschläge? Oder eine andere Art von Druck in Unicode?
danke!

    String datastr = "UNICODE STRING";
    byte[] databa = null;
    try {
        databa = datastr.getBytes("UTF8");
    } catch (UnsupportedEncodingException e1) {
        e1.printStackTrace();
    }

    DocFlavor docFlavor = DocFlavor.BYTE_ARRAY.TEXT_PLAIN_UTF_16;
    PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
    PrintService service = PrintServiceLookup.lookupDefaultPrintService();

    if (databa != null) {
        DocPrintJob pjob = service.createPrintJob();
        Doc doc = new SimpleDoc(databa, docFlavor, null);
        try {
            pjob.print(doc, aset);
        } catch (PrintException e) {
            e.printStackTrace();
        }

wenn ich versuche, drucken es in der ZEICHENKETTE.TEXT_PLAIN und auch in alles andere als AUTOSENSE, bekomme ich diese:

sun.print.PrintJobFlavorException: invalid flavor
    at sun.print.Win32PrintJob.print(Unknown Source)

Schließlich unterstützt die Aromen sind diese...

Win32 Printer : HP Deskjet 5440 Series Flavors:
    image/gif; class="[B"
    image/gif; class="java.io.InputStream"
    image/gif; class="java.net.URL"
    image/jpeg; class="[B"
    image/jpeg; class="java.io.InputStream"
    image/jpeg; class="java.net.URL"
    image/png; class="[B"
    image/png; class="java.io.InputStream"
    image/png; class="java.net.URL"
    application/x-java-jvm-local-objectref; class="java.awt.print.Pageable"
    application/x-java-jvm-local-objectref; class="java.awt.print.Printable"
    application/octet-stream; class="[B"
    application/octet-stream; class="java.net.URL"
    application/octet-stream; class="java.io.InputStream"
Wir haben zu erraten, da Sie nicht den kompletten stack-trace. Erstens, du tust UTF-8, aber dein Beispiel ist mit TEXT_PLAIN_UTF_16. Stattdessen sollten Sie versuchen, die ...UTF_8 enum. Auch haben Sie versucht, die DocFlavor docFlavor = DocFlavor.STRING.TEXT_PLAIN; auf die ursprüngliche Zeichenfolge, unter Umgehung der gesamten explizite UTF-8-byte-array Konvertierung? Wenn der Fehler immer noch Auftritt, dann ist das problem in dem, was Sie sind nicht zeigt Sie uns.
Ich kann nicht verwenden Sie die Zeichenfolge text nur text-option in windows nur für einige Grund.

InformationsquelleAutor Yannis Assael | 2011-12-05

Schreibe einen Kommentar