Exemplo n.º 1
0
        protected internal override LayoutArea UpdateCurrentArea(LayoutResult overflowResult)
        {
            AreaBreak areaBreak = overflowResult != null && overflowResult.GetAreaBreak() != null?overflowResult.GetAreaBreak
                                      () : null;

            MoveToNextPage();
            while (areaBreak != null && areaBreak.GetAreaType() == AreaBreakType.LAST_PAGE && currentPageNumber < document
                   .GetPdfDocument().GetNumberOfPages())
            {
                MoveToNextPage();
            }
            PageSize customPageSize = areaBreak != null?areaBreak.GetPageSize() : null;

            while (document.GetPdfDocument().GetNumberOfPages() >= currentPageNumber && document.GetPdfDocument().GetPage
                       (currentPageNumber).IsFlushed())
            {
                currentPageNumber++;
            }
            PageSize lastPageSize = EnsureDocumentHasNPages(currentPageNumber, customPageSize);

            if (lastPageSize == null)
            {
                lastPageSize = new PageSize(document.GetPdfDocument().GetPage(currentPageNumber).GetPageSize());
            }
            return(currentArea = new LayoutArea(currentPageNumber, document.GetPageEffectiveArea(lastPageSize)));
        }
Exemplo n.º 2
0
        protected internal override LayoutArea UpdateCurrentArea(LayoutResult overflowResult)
        {
            FlushWaitingDrawingElements();
            LayoutTaggingHelper taggingHelper = this.GetProperty <LayoutTaggingHelper>(Property.TAGGING_HELPER);

            if (taggingHelper != null)
            {
                taggingHelper.ReleaseFinishedHints();
            }
            AreaBreak areaBreak = overflowResult != null && overflowResult.GetAreaBreak() != null?overflowResult.GetAreaBreak
                                      () : null;

            if (areaBreak != null && areaBreak.GetAreaType() == AreaBreakType.LAST_PAGE)
            {
                while (currentPageNumber < document.GetPdfDocument().GetNumberOfPages())
                {
                    MoveToNextPage();
                }
            }
            else
            {
                MoveToNextPage();
            }
            PageSize customPageSize = areaBreak != null?areaBreak.GetPageSize() : null;

            while (document.GetPdfDocument().GetNumberOfPages() >= currentPageNumber && document.GetPdfDocument().GetPage
                       (currentPageNumber).IsFlushed())
            {
                currentPageNumber++;
            }
            PageSize lastPageSize = EnsureDocumentHasNPages(currentPageNumber, customPageSize);

            if (lastPageSize == null)
            {
                lastPageSize = new PageSize(document.GetPdfDocument().GetPage(currentPageNumber).GetTrimBox());
            }
            return(currentArea = new RootLayoutArea(currentPageNumber, GetCurrentPageEffectiveArea(lastPageSize)));
        }