Jump to content
We've recently updated our Privacy Statement, available here ×

ttataje

Members
  • Posts

    1
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Security Advisories

Downloads

Posts posted by ttataje

  1. Hi,

    I have the same problem, I solved doing this:

     

     

    JasperDesign jd = JRXmlLoader.load(ResourceUtils.getFile(getFileResourcesJRXML("myjasper_A5.jrxml")));
    JasperReport jrRH02 = JasperCompileManager.compileReport(jd);
    jp = JasperFillManager.fillReport(jrRH02, data, dataSource);
     
    getResponse().setContentType("application/pdf");
    ServletOutputStream outputStream = getResponse().getOutputStream();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    JRPdfExporter exporter = new JRPdfExporter();
    exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jp);
    exporter.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, baos);
    exporter.exportReport();
     
    exporter.reset();
    exporter = null;
    System.gc();
     
    Document document = new Document();
    document.setPageSize(new Rectangle(jp.getPageWidth(), jp.getPageHeight() * 2)); // This is because A4 Size == 2 * A5
    PdfReader pdfReader = new PdfReader(baos.toByteArray());
    PdfWriter writer = PdfWriter.getInstance(document, outputStream);
    document.open();
    PdfContentByte cb = writer.getDirectContent();
    for(int i = 1; i <= pdfReader.getNumberOfPages(); i++){
    document.newPage();
    PdfImportedPage page = writer.getImportedPage(pdfReader, i);
    cb.addTemplate(page, 0, 0);
    cb.addTemplate(page, 0, jp.getPageHeight());
    }
     
    outputStream.flush();
    document.close();
     
     
×
×
  • Create New...