2016-06-03 2 views
0

Я создал приложение на Java. Для получения заявки на получение заявки требуется, и я использовал файл JasperReports (.jrxml).Java Call JasperReports print issue

Я использовал вызов JasperReports в Java-коде для генерирующего счета.

Когда я нажимаю на печать, печать не подходит, размер уменьшается.

На самом деле проблема странная. Я работаю на настольном компьютере, и когда я печатаю с него, печать в порядке ... но когда я переношу свой проект на другую систему (скажем, на ноутбук) Печать, которую я получаю, примерно на 50% меньше оригинальной. Есть ли проблема с iReport?

Я использовал ниже Java код:

public static void main(String[] args) throws JRException, 
     ClassNotFoundException, SQLException { 

    String reportSrcFile = "F:/Bills/FirstJasperReport.jrxml"; 

    // First, compile jrxml file. 
    JasperReport jasperReport = JasperCompileManager.compileReport(reportSrcFile); 

    Connection conn = ConnectionUtils.getConnection(); 

    // Parameters for report 
    Map<String, Object> parameters = new HashMap<String, Object>(); 

    JasperPrint print = JasperFillManager.fillReport(jasperReport, 
      parameters, conn); 

    // Make sure the output directory exists. 
    File outDir = new File("C:/jasperoutput"); 
    outDir.mkdirs(); 

    // PDF Exportor. 
    JRPdfExporter exporter = new JRPdfExporter(); 

    ExporterInput exporterInput = new SimpleExporterInput(print); 
    // ExporterInput 
    exporter.setExporterInput(exporterInput); 

    // ExporterOutput 
    OutputStreamExporterOutput exporterOutput = new SimpleOutputStreamExporterOutput(
      "C:/jasperoutput/FirstJasperReport.pdf"); 
    // Output 
    exporter.setExporterOutput(exporterOutput); 

    // 
    SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration(); 
    exporter.setConfiguration(configuration); 
    exporter.exportReport(); 

    System.out.print("Done!"); 
} 

Как решить эту проблему

+0

'Когда я нажимаю на бумагу для печати, печать не подходит, размер уменьшается' - Что вы имеете в виду? Я думаю, что проблема в шаблоне вашего отчета –

ответ

1

Я столкнулся с той же проблемой. Это своего рода странно, но когда я ищу в Jasper Community я нашел решение

Код Решена проблема

PrintRequestAttributeSet printRequestAttrs = new HashPrintRequestAttributeSet(); 
printRequestAttrs.add(new PrinterResolution(600, 600, ResolutionSyntax.DPI)); // this resolution solved the problem 
JRPrintServiceExporter exporter = new JRPrintServiceExporter(); 
exporter.setParameter(JRExporterParameter.JASPER_PRINT, report); 
exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttrs); 
exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.TRUE); 
exporter.exportReport(); 

Надежда это поможет!

1

Вы пробовали проверить свойства принтера перед печатью? Возможно, размер вашего шаблона отчета не соответствует размеру бумаги, заданному на принтере.

+0

На самом деле проблема странная. Я работаю на настольном компьютере, и когда я печатаю с него, печать в порядке ... но когда я переношу свой проект на другую систему (скажем, на ноутбук) Печать, которую я получаю, примерно на 50% меньше оригинальной. Есть ли проблема с iReport? Я также отредактировал этот вопрос. –