【Stimulsoft Reports Java教程】从Java打印报表翻译

此示例显示如何将报表从Java打印到指定的打印机(Swing)。

下载Stimulsoft Reports Java最新版本

此示例显示如何将报表从Java打印到指定的打印机(Swing)。

首先,创建JFrame并设置必要的选项。

public static void main(final String[] args) {    SwingUtilities.invokeLater(new Runnable() {        public void run() {            try {                JFrame frame = new JFrame();                frame.add(new Printing(frame));                frame.setSize(FRAME_SIZE);                frame.setLocationRelativeTo(null);                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);                frame.setVisible(true);            } catch (Throwable e) {                StiExceptionProvider.show(e, null);            }        }    });}

接下来,在主面板上添加打印按钮。 作为操作,我们将打印报告定义为默认打印机。

JButton button = new JButton("Print");leftPanel.add(button);button.addActionListener(new ActionListener() {    public void actionPerformed(ActionEvent e) {        StiReport report = getReport();        PrinterJob printerJob = StiPrintHelper.preparePrinterJob(report.getRenderedPages());        try {            StiPrintHelper.printJob(printerJob, report, true);        } catch (PrinterException pe) {            StiExceptionProvider.show(pe, null);        }    }});

接下来,添加用于选择打印机的元素和用于将报告打印到所选打印机的按钮。

final JComboBox printerList = new JComboBox(PrintServiceLookup.lookupPrintServices(null, null));rightPanel.add(printerList);printerList.setSelectedIndex(0);button = new JButton("Print");rightPanel.add(button);button.addActionListener(new ActionListener() {    public void actionPerformed(ActionEvent e) {        StiReport report = getReport();        PrinterJob printerJob = StiPrintHelper.preparePrinterJob(report.getRenderedPages());        try {            AttributeSet attr_set = new HashAttributeSet();            PrintService printService = (PrintService) printerList.getSelectedItem();            attr_set.add(new PrinterName(printService.getName(), null));            PrintService[] services = PrintServiceLookup.lookupPrintServices(null, attr_set);            printerJob.setPrintService(services[0]);            StiPrintHelper.printJob(printerJob, report);        } catch (Exception e1) {            StiExceptionProvider.show(e1, parentFrame);        }    }});

我们还需要加载报告以进行打印。 我们使用SimpleList报告 – 加载它并将Demo数据库添加到报告对象。 在这些操作呈现报告之后。

private StiReport getReport() {    if (report == null) {        try {            String demoDir = "Data/";            StiXmlDatabase xmlDatabase = new StiXmlDatabase("Demo", demoDir + "Demo.xsd", demoDir + "Demo.xml");            StiReport renderReport = StiSerializeManager.deserializeReport(new File("Reports/SimpleList.mrt"));            renderReport.getDictionary().getDatabases().add(xmlDatabase);            renderReport.setCalculationMode(StiCalculationMode.Interpretation);            renderReport.Render(false);            report = renderReport;        } catch (Exception e) {            StiExceptionProvider.show(e, null);        }    }    return report;}

在下面的屏幕截图中,您可以看到示例代码的结果。

【Stimulsoft Reports Java教程】从Java打印报表翻译

下载示例

购买Stimulsoft正版授权,请点击“咨询在线客服”哟!

标签:报表Java报表控件Stimulsoft

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月12日
下一篇 2018年10月12日

相关推荐

发表回复

登录后才能评论