JDK installieren OpenJDK druckt falsch

Roland13

Mitglied
Ein Ausdruck aus Java mit dem Original-Java von Oracle ist bei Hoch-Format und Querformat wie gewünscht. Sobald ich OpenJDK verwende funktioniert aber der Querformat-Druck nicht mehr richtig: die horizontalen Linien werden ca 3 mm darunter (unter/auf der Schrift) gedruckt, obwohl bei der Vorschau auch bei OpenJDK noch alles richtig dargestellt wurde.
Hat jemand ein ähnliches Phänomen beobachtet, oder funktionieren nur die OpenJDK-Version von GitHub nicht richtig?
 

Roland13

Mitglied
zu 1) getestet mit Open JDK 1.8.0.191, 1.8.0_201 und 11.0.2.7
zu 2) https://github.com/ojdkbuild/ojdkbuild ist scheinbar einziges OpenJDK das installierbare Version zur Verfügung stellt, welches jnlp aufrufen kann
zu 3) Minibeispiel hab ich leider nicht, der Druck läuft über folgende Funktion:
Java:
    public int print(Graphics g,PageFormat pf,int pageIndex) throws PrinterException
          {
            iPrint++;
            int ret = PAGE_EXISTS;
            try
            {

        Graphics2D g2d=(Graphics2D)g;
        if(bGetPrintGraphics)
        {

            if(gFont!=null)
                g.setFont(gFont);
            if(iCount==1)
            {
                iCount++;
            }
            else
            {
                graphGlobal=g2d;
                bGetPrintGraphics=false;
                iCount=1;
                pfGlobal=pf;
                                bPrint=false;
            }
            ret=PAGE_EXISTS;
        }
        else
        {
            if(bVorschau)
            {
                            makePage(g2d,(Vector)VecPages.elementAt(pageIndex),1);
                                Static.printError("PrintmanagerA.print: Vorschau aufgerufen");
                ret=NO_SUCH_PAGE;
            }
            else
            {
                if(pageIndex < alPages.size())
                {
                    makePage(g2d,(Vector)VecPages.elementAt((alPages.get(pageIndex)).intValue()-1),1);
                                        graphGlobal=g2d;
                                        bPrint=true;
                                        g2.progInfo("PrintmanagerA.print:3");
                    ret=PAGE_EXISTS;
                }
                else
                                {
                                  if (!bPrint)
                                    pj.cancel();
                                  ret=NO_SUCH_PAGE;
                                }
            }
        }
          }
              catch (Exception e) {
                ret=NO_SUCH_PAGE;
                g2.defInfo2("PrintManagerA.print:"+e);
                     throw new PrinterException(e.toString());
              }
              return ret;
    }
 

mihe7

Top Contributor
Du kannst mal testweise folgenden Code verwenden.

Java:
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.print.*;

public class Test implements Printable {
    @Override
    public int print(Graphics g, PageFormat pf, int ix) {
        if (ix == 0) {
            Graphics2D g2 = (Graphics2D) g;

            System.out.printf("[%.2f, %.2f, %.2f, %.2f]\n",
                mm(pf.getImageableX()),
                mm(pf.getImageableY()),
                mm(pf.getImageableWidth()),
                mm(pf.getImageableHeight()));

            Line2D line = new Line2D.Double(points(20), points(20), points(100), points(20));
            g2.draw(line);
            return Printable.PAGE_EXISTS;
        } else {
            return Printable.NO_SUCH_PAGE;
        }
    }

    private static double mm(double points) {
        return points * 25.4 / 72.0;
    }

    private static double points(double mm) {
        return mm*72.0/25.4;
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            PrinterJob job = PrinterJob.getPrinterJob();
            Test doc = new Test();
            job.setPrintable(doc);
            if (job.printDialog()) {
                try {
                    job.print();
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            }
        });
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
KonradN Oracle übergibt (Java Teile der) GraalVM Community Edition an OpenJDK Community Allgemeine Java-Themen 2
P JDK installieren OpenJDK: Lizenz von mit JLINK erzeugten Executables Allgemeine Java-Themen 1
M Openjdk - gibt es auch eine Openjre? Allgemeine Java-Themen 7
D Vergleich OracleJDK/OpenJDK Allgemeine Java-Themen 7
R JDK installieren OpenJDK-Aufruf sehr langsam Allgemeine Java-Themen 4
Blender3D Linzensen OpenJDK ist die kommerzielle Nutzung kostenfrei? Allgemeine Java-Themen 3
M OpenJDK Allgemeine Java-Themen 1
G UnterSchied OpenJDK vs JDK Allgemeine Java-Themen 11
C Darstellungsproblem unter Debian und OpenJDK Allgemeine Java-Themen 5
S jdk versus openjdk - Optimierung von Konstanten? Allgemeine Java-Themen 8
C OpenJDK - FileReader throws FileNotFoundException Allgemeine Java-Themen 19
C OpenJDK Allgemeine Java-Themen 4
G Java PrintFramework druckt nur eine Seite Allgemeine Java-Themen 2
S Drucken!er druckt es zu groß aus! Allgemeine Java-Themen 5
S Drucker druckt nicht (Postscript direkt an Drucker) Allgemeine Java-Themen 5
T Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch? Allgemeine Java-Themen 9
berserkerdq2 Kann keine Labels erstellen, was ist hier syntaktisch falsch Allgemeine Java-Themen 5
A was habe ich Falsch gemacht ? Allgemeine Java-Themen 5
SaschaMeyer Arbeitet String.split falsch? Allgemeine Java-Themen 4
Y Warum wird das JLabel falsch verschoben? Allgemeine Java-Themen 1
Elyt Compiler-Fehler Datei kann nicht erstellt werden. Die Syntax für den Dateinamen etc. ist falsch. Allgemeine Java-Themen 2
K Vorzeichen falsch Allgemeine Java-Themen 2
R Verschlüsselung falsch Allgemeine Java-Themen 3
@SupressWarnings() Multilanguaging lädt immer falsch Allgemeine Java-Themen 5
T Umlaute werden falsch gedruckt Allgemeine Java-Themen 2
B public class JarFilter extends FileFilter « Falsch? Allgemeine Java-Themen 4
M Google Guice (Assisted Injects) - Buggy oder mach ich's falsch? Allgemeine Java-Themen 5
O Socket Object wird scheinbar falsch empfangen Allgemeine Java-Themen 6
T Ausgabe falsch! Allgemeine Java-Themen 5
_dp Datentypen PriorityQueue sortiert falsch? Allgemeine Java-Themen 6
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
R Was ist hier falsch? Abfragen Allgemeine Java-Themen 3
D Zufall wahr bzw. falsch mit zwei Faktoren Allgemeine Java-Themen 10
N BigDecimal falsch formatiert bei Locale.GERMANY Allgemeine Java-Themen 3
I For- Schleife falsch? Allgemeine Java-Themen 8
Developer_X Graphic was falsch? Allgemeine Java-Themen 6
T Wurfweitenberechnung: X-Werte bei extremen Werten falsch. Allgemeine Java-Themen 15
R Sting.split() was mache ich falsch? Allgemeine Java-Themen 5
T NetBeans: Ist meine Konfiguration falsch? Allgemeine Java-Themen 7
M Java rechnet falsch? Allgemeine Java-Themen 22
N MathContext rundet falsch? Allgemeine Java-Themen 1
U if Abfrage macht etwas falsch Allgemeine Java-Themen 2
T Pipe-Funktion - Prozente falsch? Allgemeine Java-Themen 8
R Prozente falsch errechnet? Allgemeine Java-Themen 27
TheJavaKid *GGRRR* was mach ich falsch >:( Allgemeine Java-Themen 3
P Was ist denn Bitte falsch? Allgemeine Java-Themen 2
S Was ist hier falsch? Allgemeine Java-Themen 16
M Systemzeit der Java VM geht falsch Allgemeine Java-Themen 4
T Hilfe! Was ist falsch? Allgemeine Java-Themen 7
M Zugriffsberechtigung unter Windows 2000 falsch? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben