The more research on the Internet I solved my problem. I give it here to those who may need it;
I made a solution from this website:
http://webmoli.com/2008/11/03/java-print-pdf/
. , -, PdfRenderer.jar- :
, PrintPdf.java, , , .
:
public void setPrintService(String argPrintServiceName) throws PrinterException {
PrintService[] printServices = PrinterJob.lookupPrintServices();
int i;
for (i = 0; i < printServices.length; i++) {
if (printServices[i].getName().equalsIgnoreCase(argPrintServiceName)) {
printerJob.setPrintService(printServices[i]);
break;
}
}
if (i == printServices.length) {
throw new PrinterException("Invalid print service name: " + argPrintServiceName);
}
}
. printerJob , . , PrintService :
public static PrintService setPrintService(String argPrintServiceName) throws PrinterException {
PrintService psr = null;
PrintService[] printServices = PrinterJob.lookupPrintServices();
int i;
for (i = 0; i < printServices.length; i++) {
if (printServices[i].getName().equalsIgnoreCase(argPrintServiceName)) {
psr = printServices[i];
break;
}
}
if (i == printServices.length) {
throw new PrinterException("Invalid print service name: " + argPrintServiceName);
}
return psr;
}
:
PrintService ps = setPrintService("Printer Name Here");
;
:
PrintPdf printPDFFile = new PrintPdf(fis, "Test Print PDF");
PrintPdf printPDFFile = new PrintPdf(fis, "Test Print PDF", ps);
, :
public PrintPdf(byte[] content, String jobName, PrintService ps) throws
IOException, PrinterException
{
initialize(content, jobName, ps);
}
public PrintPdf(InputStream inputStream, String jobName, PrintService ps)
{
*
*
initialize(pdfContent, jobName, ps);
}
pjob: pjob.setPrintService(ps);
private void initialize(byte[] pdfContent, String jobName, PrintService ps) throws
IOException, PrinterException
{
*
*
pjob = PrinterJob.getPrinterJob();
pjob.setPrintService(ps);
*
*
...
}
, -pdf.