Java에서 PDF 문서를 인쇄하는 방법

15360 단어 pdfprintjava
Spire.PDF에는 PDF 문서를 인쇄하는 강력한 기능이 있습니다. 이 문서에서는 다음 인쇄 방법을 사용하여 Java 응용 프로그램에서 PDF 파일을 인쇄하는 방법을 보여줍니다.
  • PDF를 기본 프린터로 인쇄
  • 인쇄 대화 상자로 PDF 문서 인쇄
  • 사용자 정의된 페이지 크기로 PDF 문서 인쇄
  • 인쇄할 PDF 파일의 일부 페이지를 선택하십시오.

  • 인쇄 대화 상자를 표시하지 않고 PDF 문서를 기본 프린터로 인쇄합니다. 기본 인쇄 여백 제거, 복사 매수 설정 등과 같은 일부 인쇄 설정을 사용자 정의할 수도 있습니다.

    import com.spire.pdf.*;
    
    import java.awt.print.*;
    
    public class PrintPdfDocument {
    
        public static void main(String[] args) {
            //load the sample document
            String inputFile = "Sample.pdf";
            PdfDocument loDoc = new PdfDocument(inputFile);
            PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
            PageFormat loPageFormat  = loPrinterJob.defaultPage();
            Paper loPaper = loPageFormat.getPaper();
            //Remove the default printing margins
            loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
            //Set the number of copies
            loPrinterJob.setCopies(1);
            loPageFormat.setPaper(loPaper);
            loPrinterJob.setPrintable(loDoc,loPageFormat);
    
            try {
                loPrinterJob.print();
            } catch (PrinterException e) {
                e.printStackTrace();
            }
        }
    }
    


    인쇄 대화 상자로 PDF 문서 인쇄

    import com.spire.pdf.*;
    
    import java.awt.print.*;
    
    public class PrintPdfWithDialog {
    
        public static void main(String[] args) {
            //load the sample document
            String inputFile = "Sample.pdf";
            PdfDocument loDoc = new PdfDocument(inputFile);
            PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
            PageFormat loPageFormat  = loPrinterJob.defaultPage();
            Paper loPaper = loPageFormat.getPaper();
            //Remove the default printing margins
            loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
    
            loPageFormat.setPaper(loPaper);
            loPrinterJob.setPrintable(loDoc,loPageFormat);
    
            //display the print dialog
            if (loPrinterJob.printDialog()) {
                try {
                    loPrinterJob.print();
                } catch (PrinterException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    


    사용자 정의된 페이지 크기로 PDF 문서를 인쇄합니다. loPaper.setSize(500,600)를 사용하여 PDF를 인쇄할 때 페이지 크기를 설정할 수 있습니다.

    import com.spire.pdf.*;
    
    import java.awt.print.*;
    
    public class printWithCustomizedPageSize{
    
        public static void main(String[] args) {
            //load the sample document
            String inputFile = "Sample.pdf";
            PdfDocument loDoc = new PdfDocument(inputFile);
            PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
            PageFormat loPageFormat  = loPrinterJob.defaultPage();
            Paper loPaper = loPageFormat.getPaper();
    
            //Set page size
            loPaper.setSize(500,600);
            loPageFormat.setPaper(loPaper);
            loPrinterJob.setPrintable(loDoc,loPageFormat);
            //Print
            try {
                loPrinterJob.print();
            } catch (PrinterException e) {
                e.printStackTrace();
            }
        }
    }
    


    인쇄 범위를 설정하여 인쇄할 페이지를 선택합니다. PrintRequestAttributeSet 개체를 사용하여 한 면 또는 양면을 인쇄하도록 설정할 수도 있습니다.

    import com.spire.pdf.*;
    import javax.print.attribute.*;
    import javax.print.attribute.standard.*;
    import java.awt.print.*;
    
    
    public class setPrintRange {
    
        public static void main(String[] args) {
            //load the sample document
            String inputFile = "Sample.pdf";
            PdfDocument loDoc = new PdfDocument(inputFile);
            PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
            PageFormat loPageFormat  = loPrinterJob.defaultPage();
            Paper loPaper = loPageFormat.getPaper();
    
            //Remove the default printing margins
            loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
            loPageFormat.setPaper(loPaper);
            loPrinterJob.setPrintable(loDoc, loPageFormat);
            //Set print range
            PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
            aset.add(new PageRanges(6,7));
    
            //duplex Print
            aset.add(Sides.TWO_SIDED_SHORT_EDGE);
    
            try {
                loPrinterJob.print(aset);
            } catch (PrinterException e) {
                e.printStackTrace();
            }
        }
    }
    

    좋은 웹페이지 즐겨찾기