private void Process(bool individualPageNumbering)
        {
            var documentPages = _fixedDocument.Pages.Count;

            CurrentPageNumber = 1;
            IList <IPrintContent> itemCollection = _printProcessor.ItemCollection().ToList();

            AddItems(itemCollection);
            if (individualPageNumbering)
            {
                AddPageNumbers(documentPages);
            }

            for (int i = documentPages,
                 j = 1;
                 i < _fixedDocument.Pages.Count;
                 i++, j++)
            {
                AddCustomPositionedContent(_fixedDocument.Pages[i], _printProcessor.GetCustomPageContent(j));
            }
        }
        public FixedDocument CreateFixedDocument(PrintProcessorCollection collection)
        {
            FixedDocument = new FixedDocument();

            if (collection != null)
            {
                foreach (var pp in collection)
                {
                    var currentPage = FixedDocument.Pages.Count;
                    _printProcessor   = pp;
                    CurrentPageNumber = 1;
                    _printProcessor   = pp;
                    IList <IPrintContent> itemCollection = _printProcessor.ItemCollection().ToList();

                    AddItems(itemCollection);
                    if (collection.IndividualPageNumbers)
                    {
                        AddPageNumbers(currentPage);
                    }

                    for (int i = currentPage,
                         j = 1;
                         i < FixedDocument.Pages.Count;
                         i++, j++)
                    {
                        AddCustomPositionedContent(FixedDocument.Pages[i], _printProcessor.GetCustomPageContent(j));
                    }
                }

                if (!collection.IndividualPageNumbers)
                {
                    AddPageNumbers();
                }
            }
            return(FixedDocument);
        }