JavaでExcelドキュメントを印刷する
JavaコードからのExcel文書の印刷は、Java開発者の共通の要件です.この記事では、Excelドキュメントを印刷し、無料のスパイスを使用して、すべての種類の印刷設定を設定する方法を紹介します.Java用のXLS.
PrinterジョブクラスとPageSuptupクラスの2つの重要なクラスがあります.彼らの定義について学ぶために、テーブルの下でチェックしてください.
クラス
定義
パッケージ
プリインタージョブ
PrinterJobクラスはプリンターを制御するプリンシパルクラスです.アプリケーションは、このクラスでメソッドを呼び出して、ジョブを設定し、必要に応じてユーザーと印刷ダイアログを起動し、ジョブのページを印刷します.
ジャバ.AWTプリント
ページアップ
ページ設定記述を表します.PageSetupオブジェクトには、プロパティとしてすべてのページ設定属性(左マージン、ボトムマージン、用紙サイズなど)が含まれます.また、印刷領域、印刷品質、印刷コメントなどの印刷設定属性が含まれます.
COM .尖塔XLSワークシート
spireのインストールXLSジャー
Mavenプロジェクトを作成する場合は、次の構成を使用して、アプリケーション内のJARを簡単にインポートできます.非Mavenプロジェクトの場合は、this linkからJARファイルをダウンロードし、アプリケーションの依存関係として追加します.
例1デフォルトプリンタで印刷する
例2特定のプリンタで印刷する
例3PageSetupオブジェクトを設定する
PrinterジョブクラスとPageSuptupクラスの2つの重要なクラスがあります.彼らの定義について学ぶために、テーブルの下でチェックしてください.
クラス
定義
パッケージ
プリインタージョブ
PrinterJobクラスはプリンターを制御するプリンシパルクラスです.アプリケーションは、このクラスでメソッドを呼び出して、ジョブを設定し、必要に応じてユーザーと印刷ダイアログを起動し、ジョブのページを印刷します.
ジャバ.AWTプリント
ページアップ
ページ設定記述を表します.PageSetupオブジェクトには、プロパティとしてすべてのページ設定属性(左マージン、ボトムマージン、用紙サイズなど)が含まれます.また、印刷領域、印刷品質、印刷コメントなどの印刷設定属性が含まれます.
COM .尖塔XLSワークシート
spireのインストールXLSジャー
Mavenプロジェクトを作成する場合は、次の構成を使用して、アプリケーション内のJARを簡単にインポートできます.非Mavenプロジェクトの場合は、this linkからJARファイルをダウンロードし、アプリケーションの依存関係として追加します.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId> e-iceblue </groupId>
<artifactId>spire.xls.free</artifactId>
<version>3.9.1</version>
</dependency>
</dependencies>
例1デフォルトプリンタで印刷する
import com.spire.xls.Workbook;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class PrintByDefaultPrinter {
public static void main(String[] args) {
//Create a workbook and load an Excel file
Workbook workbook = new Workbook();
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
//Create a PrinterJob object
PrinterJob printerJob = PrinterJob.getPrinterJob();
//Create a PageFormat object and set it to the default size and orientation
PageFormat pageFormat = printerJob.defaultPage();
//Return a copy of the Paper object associated with this PageFormat
Paper paper = pageFormat.getPaper();
//Set the imageable area of this Paper
paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());
//Set the number of copies
printerJob.setCopies(1);
//Set the Paper object for this PageFormat
pageFormat.setPaper(paper);
//Call painter to render the pages in the specified format
printerJob.setPrintable(workbook, pageFormat);
//Execute print
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
例2特定のプリンタで印刷する
import com.spire.xls.Workbook;
import javax.print.PrintService;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class PrintExcel {
public static void main(String[] args) throws Exception{
//Create a workbook and load an Excel file
Workbook workbook = new Workbook();
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
//Create a PrinterJob object
PrinterJob printerJob = PrinterJob.getPrinterJob();
//Create a PageFormat object and set it to the default size and orientation
PageFormat pageFormat = printerJob.defaultPage();
//Specify printer name
PrintService myPrintService = findPrintService("\\\\192.168.1.104\\HP LaserJet P1007");
printerJob.setPrintService(myPrintService);
//Return a copy of the Paper object associated with this PageFormat
Paper paper = pageFormat .getPaper();
//Set the imageable area of this Paper
paper.setImageableArea(0,0,pageFormat .getWidth(),pageFormat .getHeight());
//Set the Paper object for this PageFormat
pageFormat .setPaper(paper);
//Set the number of copies
printerJob .setCopies(1);
//Call painter to render the pages in the specified format
printerJob .setPrintable(workbook,pageFormat);
//Execute print
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
//Get print service by printer name
private static PrintService findPrintService(String printerName) {
PrintService[] printServices = PrinterJob.lookupPrintServices();
for (PrintService printService : printServices) {
if (printService.getName().equals(printerName)) {
return printService;
}
}
return null;
}
}
例3PageSetupオブジェクトを設定する
import com.spire.xls.*;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class SetPrintSettingsThroughPageSetup {
public static void main(String[] args) {
//Create a workbook and load an Excel file
Workbook workbook = new Workbook();
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
//Get the first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Get the PageSetup object
PageSetup pageSetup = worksheet.getPageSetup();
//Specify the print area
pageSetup.setPrintArea("A1:E19");
//Set row 1 as the title row, which means row 1 will be printed repeatedly at the top of each page
pageSetup.setPrintTitleRows("$1:$1");
//Allow to print grid lines
pageSetup.isPrintGridlines(true);
//Allow to print headings
pageSetup.isPrintHeadings(true);
//Allow to print worksheet in black & white mode
pageSetup.setBlackAndWhite(true);
//Set print quality
pageSetup.setPrintQuality(150);
//Set the order that Microsoft Excel uses to number pages when printing a large worksheet
pageSetup.setOrder(OrderType.OverThenDown);
//Print document through PrinterJob interface
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = pageFormat.getPaper();
paper.setImageableArea(0,0,pageFormat.getWidth(),pageFormat.getHeight());
printerJob.setCopies(1);
pageFormat.setPaper(paper);
printerJob.setPrintable(workbook,pageFormat);
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
Reference
この問題について(JavaでExcelドキュメントを印刷する), 我々は、より多くの情報をここで見つけました https://dev.to/eiceblue/print-excel-documents-in-java-524dテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol