if (performOutput == false)
{
return false;
}
final OutputProcessor outputProcessor = getOutputProcessor();
final LogicalPageBox pageBox = getPageBox();
// This is fixed: The streaming renderers always use the whole page area ..
pageBox.setPageOffset(0);
pageBox.setPageEnd(pageBox.getHeight());
if (pageBox.isOpen())
{
// Not finished and the output target is non-iterative, so we have to wait until everything is done..
return false;
}
// the reporting finally came to an end. Lets process the content.
// Recover the page-grid, then restart everything from scratch.
// (We have to recompute, as the pages may be different now, due to changed margins or page definitions)
final long nextOffset = pageBox.computePageEnd();
pageBox.setPageEnd(nextOffset);
final long pageOffset = pageBox.getPageOffset();
applyAutoCommitPageHeaderStep.commitAll(pageBox);
if (outputProcessor.isNeedAlignedPage())
{
final LogicalPageBox box = fillPhysicalPagesStep.compute(pageBox, pageOffset, nextOffset);
logger.debug("Processing contents for stream. Page-Offset: " + pageOffset + " -> " + nextOffset);
outputProcessor.processContent(box);
}
else
{
logger.debug("Processing fast contents for stream. Page-Offset: " + pageOffset + " -> " + nextOffset);
outputProcessor.processContent(pageBox);
}
countBoxesStep.process(pageBox);
cleanBoxesStep.compute(pageBox);
debugPrint(pageBox);
outputProcessor.processingFinished();
pageCount = 1;
setPagebreaks(1);
return false;
}