Printing Word documents from java code is often required by java developers. In this article, I’ll introduce how to send a Word document to a network connected physical printer or a virtual printer like Microsoft Print to PDF, by using Spire.Doc for Java.
打印涉及两个重要的类,即PrinterSettings和PrintDocument类。 查看下表以了解其定义。
类定义打印机设置指定有关如何打印文档的信息,包括打印文档的打印机。打印文件定义将文档发送到打印机的可重用对象。
Example 1: print to physical printer
import com.spire.doc.Document;
import com.spire.ms.System.Drawing.Printing.PrintDocument;
import com.spire.ms.System.Drawing.Printing.PrinterSettings;
public class PrintWord {
public static void main(String[] args) {
//load a Word document
Document document = new Document();
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\DocoumentToPrint.docx");
//create a PrinterSettings object
PrinterSettings printerSettings = new PrinterSettings();
//specify printer name
printerSettings.setPrinterName("\\\\192.168.1.104\\HP LaserJet P1007");
//set copies to print
printerSettings.setCopies((short) 1);
//set the page range to print
printerSettings.setFromPage(2);
printerSettings.setToPage(4);
//get PrintDocument object
PrintDocument printDocument = document.getPrintDocument();
//apply printer settings
printDocument .setPrinterSettings(printerSettings);
//execute print
printDocument .print();
}
}
Example 2: print to virtual printer
import com.spire.doc.Document;
import com.spire.ms.System.Drawing.Printing.PrintDocument;
import com.spire.ms.System.Drawing.Printing.PrinterSettings;
public class PrintToPdf {
public static void main(String[] args) {
//load a Word document
Document document = new Document();
document.loadFromFile("C:\\Users\\Administrator\\Desktop\\DocumentToPrint.docx");
//create a PrinterSettings object
PrinterSettings printerSettings = new PrinterSettings();
//specify virtual printer name
printerSettings.setPrinterName("Microsoft Print to PDF");
//print to file
printerSettings.setPrintToFile(true);
//specify path and name of the printed file
printerSettings.setPrintFileName("output/PrintToPDF.pdf");
//get PrintDocument object
PrintDocument printDocument = document.getPrintDocument();
//apply printer settings
printDocument.setPrinterSettings(printerSettings);
//execute print
printDocument.print();
}
}