Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.print.PrinterException;
- import java.awt.print.PrinterJob;
- import java.io.File;
- import java.io.IOException;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.print.attribute.HashPrintRequestAttributeSet;
- import javax.print.attribute.PrintRequestAttributeSet;
- import javax.print.attribute.standard.Sides;
- import org.apache.pdfbox.pdmodel.PDDocument;
- import org.apache.pdfbox.printing.PDFPageable;
- public class PrintPDF{
- //Method 1
- public static void printDocument() throws IOException, PrinterException{
- PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
- pras.add(Sides.TWO_SIDED_SHORT_EDGE);
- PDDocument input = PDDocument.load(new File("Karteikarten.pdf"));
- PrinterJob job = PrinterJob.getPrinterJob();
- job.setPageable(new PDFPageable(input));
- if (job.printDialog(pras)) {
- job.print(pras);
- }
- }
- //Method 2
- public static void print(File file, int copies, PrintService ps) {
- logger.debug("print start - " + file);
- try {
- try (PDDocument document = PDDocument.load(file)) {
- MediaSizeName size = getMediaSizeName(document);
- PrinterJob job = PrinterJob.getPrinterJob();
- job.setPrintService(ps);
- job.setPageable(new PDFPageable(document));
- PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
- attr.add(size);
- attr.add(new Copies(copies));
- attr.add(new JobName(file.getName(), null));
- PageFormat pf = job.getPageFormat(attr);
- Paper paper = pf.getPaper();
- paper.setImageableArea(0, 0, paper.getWidth(), paper.getHeight());
- pf.setPaper(paper);
- job.print(attr);
- }
- } catch (IOException | PrinterException ex) {
- logger.warn(ex, ex);
- }
- logger.debug("print end - " + file);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement