У меня есть приложение Java, которое открывает PDF, а затем печатает его и делает это хорошо, но качество печати текста очень плохое.
Если я печатаю тот же документ из окон, PDF выходитбез проблем с качеством.
Это код, который я использую, чтобы открыть PDF-файл и распечатать его:
File file = new File(pdf_path);
PDDocument document = null;
document = PDDocument.load(file);
PrinterJob job = PrinterJob.getPrinterJob();
PrintRequestAttributeSet pset = new HashPrintRequestAttributeSet();
pset.add(PrintQuality.HIGH);
job.setCopies(copias);
job.setPageable(new PDFPageable(document));
job.print(pset);
Примеры:
Печать обычного качества из окон 
Плохое качество печати из приложения, текст обрезан несколькими буквами 
Пример в формате PDF