Печать PDF-файла с помощью javax.print

#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 и страница для печати с возможностью просмотра.

Если вы сочтете это полезным, я предоставлю примеры кода.