Can you print a pdf file?

Can you print a pdf file?

Good morning.

You can print jpg files, but it is difficult to print pdf files.

Is there any way?

[jpg printer code]

import java.io.FileInputStream;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.event.PrintJobEvent;
import javax.print.event.PrintJobListener;

import java.io.FileInputStream;
import java.io.IOException;

import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;


void setup(){
  

    try {
      PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
      pras.add(new Copies(1));

      PrintService pss[] = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.GIF, pras);

     if (pss.length == 0) throw new RuntimeException("No printer services available.");

       PrintService ps = pss[3];
     // PrintService ps = "Fax";
      System.out.println("Printing to " + ps);

      DocPrintJob job = ps.createPrintJob();

      FileInputStream fin = new FileInputStream("C:/Users/user/Desktop/t3.jpg");
      Doc doc = new SimpleDoc(fin, DocFlavor.INPUT_STREAM.GIF, null);

      job.print(doc, pras);

      fin.close();
    } catch (IOException ie) {
      ie.printStackTrace();
    } catch (PrintException pe) {
      pe.printStackTrace();
    }

}

[pdf print code]

void setup(){
  

    try {
        InputStream in = new FileInputStream("C:/Users/user/Desktop/ASDASD.pdf");
           DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF;
           // find the printing service
           AttributeSet attributeSet = new HashAttributeSet();
           attributeSet.add(new PrinterName("FX", null));
           attributeSet.add(new Copies(1));
           PrintService[] services = PrintServiceLookup.lookupPrintServices(
               DocFlavor.INPUT_STREAM.PDF, attributeSet);
           //create document
           Doc doc = new SimpleDoc(in, flavor, null);
           // create the print job
           PrintService service = services[0];
           DocPrintJob job = service.createPrintJob();
           // monitor print job events
           PrintJobWatcher watcher = new PrintJobWatcher(job);
           System.out.println("Printing...");
           job.print(doc, null);
           // wait for the job to be done
           watcher.waitForDone();
           System.out.println("Job Completed!!");
    } catch (IOException ie) {
      ie.printStackTrace();
    } catch (PrintException pe) {
      pe.printStackTrace();
    }

}
  • ERROR MESSAGE :
    Cannot find a class or type named “AttributeSet”