三種Java打印PDF文檔的實例代碼
以下內(nèi)容歸納了通過Java程序打印PDF文檔時的3種情形。即:
1 靜默打印
2 顯示打印對話框打印
3 打印PDF時自定義紙張大小
使用工具:Spire.PDF for Java
Jar文件獲取及導(dǎo)入:
方法1:下載jar包。下載后,解壓文件,并將lib文件夾下的Spire.Pdf.jar導(dǎo)入java程序。
方法2:可通過maven庫導(dǎo)入。參考導(dǎo)入方法。
Java代碼示例
【示例1】靜默打印
即通過使用默認打印機直接打印PDF文檔。打印時,我們可以設(shè)置打印份數(shù),設(shè)置紙張打印頁邊距等。
import com.spire.pdf.*;
import java.awt.print.*;
public class Print {
public static void main(String[] args) {
//加載文檔
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Sample.pdf");
PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
PageFormat loPageFormat = loPrinterJob.defaultPage();
Paper loPaper = loPageFormat.getPaper();
//刪除默認頁邊距
loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
//設(shè)置打印份數(shù)
loPrinterJob.setCopies(2);
loPageFormat.setPaper(loPaper);
loPrinterJob.setPrintable(pdf,loPageFormat);
try {
loPrinterJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
【示例2】顯示打印對話框打印PDF文檔
import com.spire.pdf.*;
import java.awt.print.*;
public class Print {
public static void main(String[] args) {
//加載文檔
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Sample.pdf");
PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
PageFormat loPageFormat = loPrinterJob.defaultPage();
Paper loPaper = loPageFormat.getPaper();
//刪除默認頁邊距
loPaper.setImageableArea(0,0,loPageFormat.getWidth(),loPageFormat.getHeight());
loPageFormat.setPaper(loPaper);
loPrinterJob.setPrintable(pdf,loPageFormat);
//顯示打印對話框
if (loPrinterJob.printDialog()) {
try {
loPrinterJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
}
【示例3】打印時自定義紙張大小
import com.spire.pdf.*;
import java.awt.print.*;
public class Print {
public static void main(String[] args) {
//加載文檔
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("Sample.pdf");
PrinterJob loPrinterJob = PrinterJob.getPrinterJob();
PageFormat loPageFormat = loPrinterJob.defaultPage();
//設(shè)置打印紙張大小
Paper loPaper = loPageFormat.getPaper();
loPaper.setSize(500,600);
loPageFormat.setPaper(loPaper);
loPrinterJob.setPrintable(pdf,loPageFormat);
try {
loPrinterJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
如果需要更詳細的打印設(shè)置,可以在PrinterJob下設(shè)置相應(yīng)的參數(shù),可從參考:https://www.programcreek.com/java-api-examples/java.awt.print.PrinterJob
(本文完)
到此這篇關(guān)于三種Java 打印PDF文檔的實例代碼的文章就介紹到這了,更多相關(guān)JAVA 打印PDF文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring AOP 對象內(nèi)部方法間的嵌套調(diào)用方式
這篇文章主要介紹了Spring AOP 對象內(nèi)部方法間的嵌套調(diào)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08

