# Can you print a pdf file?

**URL:** https://discourse.processing.org/t/can-you-print-a-pdf-file/20743
**Category:** Coding Questions
**Created:** [May 11, 2020, 10:40am UTC](https://discourse.processing.org/t/can-you-print-a-pdf-file/20743 "2020-05-11T10:40:24Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![GWAK](https://avatars.discourse-cdn.com/v4/letter/g/13edae/32.png) [@GWAK](https://discourse.processing.org/u/GWAK)
#### Post date: [May 11, 2020, 10:40am UTC](https://discourse.processing.org/t/can-you-print-a-pdf-file/20743/1 "2020-05-11T10:40:24Z")

</div>

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]**

```auto
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]**

```auto
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”

 ![TT](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/f/fb0b7c53ff474b47f41be152d2a5f715a33be074.jpeg)
