Я просмотрел несколько сообщений и составил код для печати PDF-файла. Однако что-то не так. Программа завершается без ошибок, но не печатает ничего:Печать PDF из java
public static void print(String file) {
FileInputStream psStream = null;
try {
psStream = new FileInputStream(file);
} catch (FileNotFoundException ffne) {
ffne.printStackTrace();
}
if (psStream == null) {
return;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
PrintService[] services = PrintServiceLookup.lookupPrintServices(psInFormat, aset);
// this step is necessary because I have several printers configured
PrintService myPrinter = null;
for (int i = 0; i < services.length; i++){
String svcName = services[i].toString();
System.out.println("service found: "+svcName);
if (svcName.equals("Win32 Printer : Microsoft XPS Document Writer")){
myPrinter = services[i];
System.out.println("Destination printer found: "+svcName);
break;
}
}
if (myPrinter != null) {
DocPrintJob job = myPrinter.createPrintJob();
try {
job.print(myDoc, aset);
} catch (Exception pe) {pe.printStackTrace();}
} else {
System.out.println("no printer services found");
}
}
Я пытаюсь отправить документ Microsoft XPS-документов для целей тестирования, но я не вижу, как это может привести к поломке при печати файла.
Если у вас есть знакомство с Python, вы должны проверить PyLatex (https://github.com/JelteF/PyLaTeX). Это довольно легко, и вы можете следовать из примера в документах – NumenorForLife