#java #printing
#java #печать
Вопрос:
Всем привет, я столкнулся с реальной проблемой при попытке распечатать PDF-файл с помощью java print. Проблема в том, что когда я отправляю файл на принтер с помощью метода print () с cute pdf, файл хорошо печатается, но на реальном принтере это невозможно. `
try{
File file = new File(toprint);
InputStream is = new BufferedInputStream(new FileInputStream(file));
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
DocPrintJob job = p.createPrintJob();//p here is my printservice printer
HashPrintRequestAttributeSet printRequestSet = new HashPrintRequestAttributeSet();
HashDocAttributeSet ds=new HashDocAttributeSet();
Doc doc = new SimpleDoc(is, flavor, null);
job.print(doc, aset);
}
catch(Exception e){
System.out.println("An exception occured while printing the file " e);
}
`
Я пробовал это так много раз, но это не работает.
Есть идеи?
Комментарии:
1. Что происходит? Вы получаете исключение? Если да, пожалуйста, предоставьте нам трассировку стека. Или у вас просто ничего не печатается? Вы пробовали печатать файлы, отличные от pdf, на этом принтере?
2. Никогда не делайте что-то подобное: System.out.println(«При печати файла возникло исключение» e); Всегда выполняйте e.printStackTrace() или вообще не перехватывайте исключение
3. На самом деле, я не получаю никаких исключений, все идет хорошо, и задание отправляется на принтер, но оно печатает только одну пустую страницу для pdf, и когда я попробовал документы w word, оно напечатало одну строку для каждой страницы, содержащей только некоторые неоднозначные символы
4. легенд, вы решили эту проблему?
Ответ №1:
Я думаю, что ваш принтер может не поддерживать pdf, в этом случае вам придется отобразить его с помощью средства визуализации pdf.
Посмотрите на http://java.net/projects/pdf-renderer и страница для печати с возможностью просмотра.
Если вы сочтете это полезным, я предоставлю примеры кода.