Package org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics

Examples of org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.PrintReportProcessor


  {
    final MasterReport report = getReport();
    report.setReportFooter(new ReportFooter());
    report.setReportHeader(new ReportHeader());

    final PrintReportProcessor proc = new PrintReportProcessor(report);
    assertEquals(1, proc.getNumberOfPages());
    proc.close();
  }
View Full Code Here


  public void testGroupReport2 () throws Exception
  {
    final MasterReport report = getReportTest2();

    final PrintReportProcessor proc = new PrintReportProcessor(report);
    assertEquals(4, proc.getNumberOfPages());
    proc.close();
  }
View Full Code Here

    if (jobName != null)
    {
      printerJob.setJobName(jobName);
    }

    final PrintReportProcessor reportPane = new PrintReportProcessor(report);
    if (progressListener != null)
    {
      reportPane.addReportProgressListener(progressListener);
    }
    printerJob.setPageable(reportPane);
    try
    {
      printerJob.setCopies(getNumberOfCopies(reportConfiguration));
      printerJob.print();
    }
    finally
    {
      reportPane.close();
      if (progressListener != null)
      {
        reportPane.removeReportProgressListener(progressListener);
      }
    }
  }
View Full Code Here

    if (jobName != null)
    {
      printerJob.setJobName(jobName);
    }

    final PrintReportProcessor reportPane = new PrintReportProcessor(report);
    if (progressListener != null)
    {
      reportPane.addReportProgressListener(progressListener);
    }

    try
    {
      reportPane.fireProcessingStarted();
      printerJob.setPageable(reportPane);
      printerJob.setCopies(getNumberOfCopies(reportConfiguration));
      if (printerJob.printDialog())
      {
        printerJob.print();
        return true;
      }
      return false;
    }
    finally
    {
      reportPane.fireProcessingFinished();
      reportPane.close();
      if (progressListener != null)
      {
        reportPane.removeReportProgressListener(progressListener);
      }
    }
  }
View Full Code Here

   */
  public boolean savePNG(final MasterReport report, final String fileName)
  {
    try
    {
      final PrintReportProcessor prc = new PrintReportProcessor(report);
      final int numberOfPages = prc.getNumberOfPages();
      for (int i = 0; i < numberOfPages; i++)
      {
        final String fileNameFormated =
            MessageFormat.format(fileName, new Object[]{new Integer(i)});
        final BufferedImage image = createImage(report.getPageDefinition());

        final Rectangle rect = new Rectangle(0, 0, image.getWidth(), image.getHeight());
        // prepare the image by filling it ...
        final Graphics2D g2 = image.createGraphics();
        g2.setPaint(Color.white);
        g2.fill(rect);

        final PageDrawable pageDrawable = prc.getPageDrawable(i);
        pageDrawable.draw(g2, rect);
        g2.dispose();

        // convert to PNG ...
        final PngEncoder encoder = new PngEncoder(image, true, 0, 9);
View Full Code Here

  public static boolean execGraphics2D(final MasterReport report)
  {
    try
    {
      final PrintReportProcessor proc = new PrintReportProcessor(report);
      final int nop = proc.getNumberOfPages();
      if (proc.isError())
      {
        if (proc.getErrorReason() instanceof ReportParameterValidationException)
        {
          return true;
        }
        return false;
      }
      if (nop == 0)
      {
        return false;
      }
      for (int i = 0; i < nop; i++)
      {
        if (proc.getPageDrawable(i) == null)
        {
          return false;
        }
      }
      proc.close();
      return true;
    }
    catch (ReportParameterValidationException p)
    {
      // reports that have mandatory parameters are ok to fail.
View Full Code Here

    final MasterReport report = (MasterReport) directly.getResource();
    final ReportElement crosstab = report.getChildElementByType(CrosstabGroupType.INSTANCE);
    crosstab.setAttribute(AttributeNames.Core.NAMESPACE, AttributeNames.Crosstab.DETAIL_MODE, CrosstabDetailMode.first);

    // Test whether the final page has out-of-bounds boxes. The FillPhysicalPages step should have removed them
    final PrintReportProcessor rp = new PrintReportProcessor(report);
    for (int page = 0; page < rp.getNumberOfPages(); page += 1)
    {
      final PhysicalPageDrawable pageDrawable = (PhysicalPageDrawable) rp.getPageDrawable(page);
      final LogicalPageBox logicalPageBox = pageDrawable.getPageDrawable().getLogicalPageBox();

      //ModelPrinter.print(logicalPageBox);
      //if (true) return;
      final RenderNode[] all = MatchFactory.matchAll(logicalPageBox, new ElementMatcher(TableRowRenderBox.class));
View Full Code Here

    report.getReportHeader().addElement(table);
    report.getReportHeader().setLayout(BandStyleKeys.LAYOUT_BLOCK);

    // Test whether the final page has out-of-bounds boxes. The FillPhysicalPages step should have removed them
    final PrintReportProcessor rp = new PrintReportProcessor(report);
    for (int page = 0; page < rp.getNumberOfPages(); page += 1)
    {

      final PhysicalPageDrawable pageDrawable = (PhysicalPageDrawable) rp.getPageDrawable(page);
      final LogicalPageBox logicalPageBox = pageDrawable.getPageDrawable().getLogicalPageBox();


//      new FileModelPrinter("Prd-3930-page-" + page + "-", DebugReportRunner.createTestOutputFile()).print(logicalPageBox);

      final RenderNode[] all = MatchFactory.matchAll(logicalPageBox, new ElementMatcher(TableRowRenderBox.class));
      for (int i = 0; i < all.length; i += 1)
      {
        final RenderNode node = all[i];
        // temporary workaround:
        final RenderBox parent = node.getParent();
        if (parent instanceof TableSectionRenderBox)
        {
          final TableSectionRenderBox parentBox = (TableSectionRenderBox) parent;
          if (parentBox.getDisplayRole() != TableSectionRenderBox.Role.BODY)
          {
            continue;
          }
        }

        try
        {
          assertFalse((node.getY() + node.getHeight()) <= logicalPageBox.getPageOffset());
          assertFalse(node.getY() >= logicalPageBox.getPageEnd());

          if (node.getY() < logicalPageBox.getPageEnd() &&
              (node.getY() + node.getHeight()) > logicalPageBox.getPageEnd())
          {
            fail(" y=" + node.getY() + " height=" + node.getHeight());
          }
        }
        catch (AssertionFailedError afe)
        {
          ModelPrinter.INSTANCE.print(node);
          throw afe;
        }
      }
    }

    assertEquals(numberOfPagebreaks + 1, rp.getNumberOfPages());

  }
View Full Code Here

    final MasterReport report = (MasterReport) directly.getResource();
    final ReportElement crosstabCell = report.getChildElementByType(CrosstabCellType.INSTANCE);
//    crosstabCell.setAttribute(AttributeNames.Core.NAMESPACE, AttributeNames.Core.CROSSTAB_DETAIL_MODE, CrosstabDetailMode.first);

    // Test whether the final page has out-of-bounds boxes. The FillPhysicalPages step should have removed them
    final PrintReportProcessor rp = new PrintReportProcessor(report);
    DebugLog.log("Pages: " + rp.getNumberOfPages());
    for (int page = 0; page < rp.getNumberOfPages(); page += 1)
    {
      final PhysicalPageDrawable pageDrawable = (PhysicalPageDrawable) rp.getPageDrawable(page);
      final LogicalPageBox logicalPageBox = pageDrawable.getPageDrawable().getLogicalPageBox();

      //ModelPrinter.print(logicalPageBox);
      //if (true) return;
      final RenderNode[] all = MatchFactory.matchAll(logicalPageBox, new ElementMatcher(TableRowRenderBox.class));
View Full Code Here

    final ResourceManager resourceManager = new ResourceManager();
    resourceManager.registerDefaults();
    final Resource directly = resourceManager.createDirectly(url, MasterReport.class);
    final MasterReport report = (MasterReport) directly.getResource();

    PrintReportProcessor p = new PrintReportProcessor(report);
    p.paginate();
    assertTrue(p.isPaginated());
    assertFalse(p.isError());

    final PageDrawable pageDrawable = p.getPageDrawable(1);
   
//
//    DebugReportRunner.createPDF(report);

View Full Code Here

TOP

Related Classes of org.pentaho.reporting.engine.classic.core.modules.output.pageable.graphics.PrintReportProcessor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.