JasperReport 默认打印机打印/指定打印机打印

1.[url=http://www.0431.la]调用默认打印机[/url] [url=http://www.0431.la]长春在线[/url]
非常简单 加载模板 打印

JasperPrint jasperPrint = JasperFillManager.fillReport("WebRoot/report/test.jasper", new HashMap(),new JREmptyDataSource());
//false/true 表示在打印的时候是否显示打印机设置
JasperPrintManager.printReport(jasperPrint, false);

2.[url=http://www.0431.la]设置指定打印机[/url]

PrintService[] pss = PrinterJob.lookupPrintServices();
PrintService ps = null;
for (int i = 0; i < PSs.length; i++) {
String sps = PSs[i].toString();
//如果打印机名称相同
if(sps.equalsIgnoreCase("Win32 Printer : pdfFactory Pro")){
ps = PSs[i];
}
}
JRAbstractExporter je = new JRPrintServiceExporter();
je.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
//设置指定打印机
je.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, ps);
je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, false);
je.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, false);
//打印
je.exportReport();

[url]http://www.0431.la[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java调用打印机打印入库单的具体实现方式需要根据你所使用的打印机打印模板来确定。以下是一般的实现步骤: 1. 创建入库单对象,包含所需的入库信息。 2. 根据入库单对象填充打印模板,生成打印数据。 3. 使用JasperReports或其他报表工具将打印数据生成为可打印的格式。 4. 使用Java打印库将打印数据发送到打印机并进行打印。 以下是一个简单的示例代码: ```java import java.io.File; import java.util.HashMap; import java.util.Map; import javax.print.PrintService; import javax.print.PrintServiceLookup; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.util.JRLoader; public class PrintInvoice { public static void main(String[] args) throws Exception { // Step 1: create invoice object Invoice invoice = new Invoice("INV-1234", "John Doe", "2021-01-01", 1000.0); // Step 2: fill invoice data into print template Map<String, Object> params = new HashMap<>(); params.put("invoice", invoice); File templateFile = new File("template/invoice_template.jasper"); JasperReport report = (JasperReport) JRLoader.loadObject(templateFile); JasperPrint print = JasperFillManager.fillReport(report, params); // Step 3: print invoice PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); if (services.length > 0) { PrintService printService = services[0]; print.setPrinterName(printService.getName()); JasperPrintManager.printReport(print, false); } } } class Invoice { private String number; private String customerName; private String date; private double amount; public Invoice(String number, String customerName, String date, double amount) { this.number = number; this.customerName = customerName; this.date = date; this.amount = amount; } public String getNumber() { return number; } public String getCustomerName() { return customerName; } public String getDate() { return date; } public double getAmount() { return amount; } } ``` 这个示例代码包含了以下步骤: 1. 创建入库单对象。 2. 根据入库单对象填充打印模板。 3. 使用JasperReports将打印数据生成为可打印的格式。 4. 使用Java打印库获取可用打印机列表并选择第一个打印机,将打印数据发送到打印机并进行打印。 注意:在运行这个示例代码的时候,需要将打印模板的路径和打印机的名称替换为实际的路径和名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值