Как печатать документы Word в Java

Печать документов Word — это фундаментальный аспект управления документами, позволяющий превращать цифровые файлы в осязаемые, физические копии. В этой статье вы узнаете, как распечатать документ Word с помощью Spire.Doc for Java.
- Печать Word с помощью принтера по умолчанию в Java
- Печать Word с помощью указанного принтера в Java
Установите компонент
Если вы создаете проект с использованием Maven, вы можете легко импортировать jar в свое приложение, используя следующие конфигурации. Для проектов, не использующих Maven, загрузите jar-файл по этой ссылке и добавьте его в качестве зависимости в ваше приложение.

Печать Word с помощью принтера по умолчанию в Java
Печать документов Word с помощью принтера по умолчанию — удобный и простой метод. Такой подход часто подходит для обычных задач печати, когда нет необходимости в специальных настройках принтера или когда пользователи предпочитают использовать конфигурации по умолчанию, установленные в их принтере.
Следующий фрагмент кода демонстрирует, как распечатать документ Word с помощью принтера по умолчанию, используя Java.
import com.spire.doc.Document;
import java.awt.print.PageFormat;
import java.awt.print.Paper;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
public class PrintWithDefaultPrinter {
public static void main(String[] args) {
// Create a Document object
Document document = new Document();
// Load a Word file
document.loadFromFile("C:\Users\Administrator\Desktop\Input.docx");
// 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 to be printed
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(document, pageFormat);
// Print document
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
Печать Word с помощью указанного принтера в Java
Печать документа Word на заданном принтере в Java позволяет выбрать конкретное устройство печати для выполнения задачи печати. Такой подход может быть полезен в ситуациях, когда у вас есть несколько принтеров и вы хотите направить вывод на печать на определенный из них.
Следующий фрагмент кода демонстрирует, как распечатать документ Word на указанном принтере с помощью Java.
import com.spire.doc.Document;
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 PrintWithSpecifiedPrinter {
public static void main(String[] args) throws PrinterException {
// Create a PrinterJob object which is initially associated with the default printer
PrinterJob printerJob = PrinterJob.getPrinterJob();
// Specify printer name
PrintService myPrintService = findPrintService("\\192.168.1.104\HP LaserJet P1007″);
printerJob.setPrintService(myPrintService);
// Create a PageFormat instance and set it to a 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 Paper object for this PageFormat.
pageFormat.setPaper(paper);
// Create a Document object
Document document = new Document();
// Load a Word file
document.loadFromFile("C:\Users\Administrator\Desktop\Input.docx");
// Call painter to render the pages in the specified format
printerJob.setPrintable(document, pageFormat);
// Print document
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
// Find print service
private static PrintService findPrintService(String printerName) {
PrintService[] printServices = PrinterJob.lookupPrintServices();
for (PrintService printService : printServices) {
if (printService.getName().equals(printerName)) {
return printService;
}
}
return null;
}
}
Pезюме
В этой статье мы узнали, как печатать документы Word с помощью Spire.Doc for Java. Компонент имеет множество других возможностей, таких как: