W przypadku niektórych drukarek, z dowolnego powodu, wydruki są automatycznie powiększane, co wydaje się być domyślnymi ustawieniami podczas drukowania za pomocą Java JVM (Java 7). Wydaje się, że jest tak w przypadku starszych drukarek i jest to dość rzadkie, ale dzieje się tak z więcej niż jednym modelem drukarki. Również aktualizacja sterowników nie rozwiązuje problemu.Drukowanie w języku Java - Powiększone wydruki na małej liczbie drukarek
Oprogramowanie korzysta z biblioteki JFreeReport (klasyczne silniki), a podczas korzystania z biblioteki do eksportu jako plik PDF wszystko działa świetnie. Również podgląd wydruku przy użyciu biblioteki jest doskonały. Jednak jeśli chodzi o drukowanie, a dotyczy to tylko bardzo małej liczby drukarek, wydruki są powiększane. Nie są one powiększane, ale czcionki są znacznie większe i niepoprawnie rozmieszczone, tak aby nakładały się na siebie nawzajem.
Te same drukarki z JDK 6 wydają się działać dobrze. Wydaje się, wciąż próbuję wyizolować problem. Myślę, że prawdopodobnie te drukarki nie obsługują poprawnie Java 7
Znalazłem this thread which seems to indicate that there are some issues with JDK 7u21. W uwagach do wydania nie widziałem niczego, co mogłoby rozwiązać ten problem. Ponadto jest tutaj another example of the a similar bug report.
Update2: Dla wszystkich zainteresowanych, napisałem wpis na blogu o nazwie Printing is Broken on Mac OS X with Java 7 dotyczący tego problemu, który zawiera więcej szczegółów i informacje o tym, co odkryłem.
Teraz tworzę plik tymczasowy, a następnie wywołanie "lp tempFile.pdf", ale nie jest to idealne rozwiązanie, ponieważ zakłada, że domyślna drukarka jest poprawna. Musi być jakieś rozwiązanie. Nie mogę uwierzyć, że Oracle i Apple opuściły ten poważny rażący błąd przez wiele miesięcy. Jest to bardzo ważne dla wielu aplikacji !!! –