Java에서 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();
}
}
}
Reference
이 문제에 관하여(Java에서 PDF 문서를 인쇄하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/eiceblue/how-to-print-pdf-document-in-java-46hd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)