コード例 #1
0
        public virtual void PreLayoutTest02()
        {
            String      outFileName = destinationFolder + "preLayoutTest02.pdf";
            String      cmpFileName = sourceFolder + "cmp_preLayoutTest02.pdf";
            PdfDocument pdfDoc      = new PdfDocument(new PdfWriter(outFileName));
            Document    document    = new Document(pdfDoc, PageSize.Default, false);

            document.Add(new Paragraph("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"));
            StringBuilder text = new StringBuilder();

            for (int i = 0; i < 1200; i++)
            {
                text.Append("A very long text is here...");
            }
            Paragraph twoColumnParagraph = new Paragraph();

            twoColumnParagraph.SetNextRenderer(new PreLayoutTest.TwoColumnParagraphRenderer(twoColumnParagraph));
            iText.Layout.Element.Text textElement = new iText.Layout.Element.Text(text.ToString());
            twoColumnParagraph.Add(textElement).SetFont(PdfFontFactory.CreateFont(StandardFonts.HELVETICA));
            document.Add(twoColumnParagraph);
            document.Add(new Paragraph("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"));
            int paragraphLastPageNumber = -1;
            IList <IRenderer> documentChildRenderers = document.GetRenderer().GetChildRenderers();

            for (int i = documentChildRenderers.Count - 1; i >= 0; i--)
            {
                if (documentChildRenderers[i].GetModelElement() == twoColumnParagraph)
                {
                    paragraphLastPageNumber = documentChildRenderers[i].GetOccupiedArea().GetPageNumber();
                    break;
                }
            }
            twoColumnParagraph.SetNextRenderer(new PreLayoutTest.TwoColumnParagraphRenderer(twoColumnParagraph, paragraphLastPageNumber
                                                                                            ));
            document.Relayout();
            //Close document. Drawing of content is happened on close
            document.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outFileName, cmpFileName, destinationFolder
                                                                             , "diff"));
        }
コード例 #2
0
        public virtual void ColumnDocumentRendererRelayoutTest()
        {
            String      outFileName = destinationFolder + "columnDocumentRendererRelayoutTest.pdf";
            String      cmpFileName = sourceFolder + "cmp_columnDocumentRendererRelayoutTest.pdf";
            PdfDocument pdfDoc      = new PdfDocument(new PdfWriter(outFileName)).SetTagged();
            Document    document    = new Document(pdfDoc, PageSize.Default, false);
            Rectangle   column1     = new Rectangle(40, 40, 200, 720);
            Rectangle   column2     = new Rectangle(300, 40, 200, 720);

            document.SetRenderer(new ColumnDocumentRenderer(document, false, new Rectangle[] { column1, column2 }));
            String text = "The series continues with Harry Potter and the Chamber of Secrets, describing Harry's second year at Hogwarts. He and his friends investigate a 50-year-old mystery that appears uncannily related to recent sinister events at the school. Ron's younger sister, Ginny Weasley, enrols in her first year at Hogwarts, and finds an old notebook which turns out to be a previous student's diary, Tom Marvolo Riddle, who later turns out to be Voldemort. The memory of Tom Riddle is inside of the diary and when Ginny begins to confide in the diary Voldemort begins to possess her. Ginny becomes possessed by Voldemort through the diary and unconsciously opens the \"Chamber of Secrets\", unleashing an ancient monster, later revealed to be a basilisk, which begins attacking students at Hogwarts. The novel delves into the history of Hogwarts and a legend revolving around the Chamber that soon frightens everyone in the school. The book also introduces a new Defence Against the Dark Arts teacher, Gilderoy Lockhart, a highly cheerful, self-conceited wizard who goes around as if he is the most wonderful person who ever existed, who knows absolutely every single thing there is to know about everything, who later turns out to be a fraud. Harry discovers that prejudice exists in the wizarding world, and learns that Voldemort's reign of terror was often directed at wizards who were descended from muggles. Harry also learns that his ability to speak the snake language Parseltongue is rare and often associated with the Dark Arts. The novel ends after Harry saves Ginny's life by destroying the basilisk and the enchanted diary which has been the source of the problems.";

            for (int i = 0; i < 3; i++)
            {
                text = text + " " + text;
            }
            document.Add(new Paragraph(text));
            document.Relayout();
            document.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outFileName, cmpFileName, destinationFolder
                                                                             , "diff"));
        }
コード例 #3
0
        public virtual void PreLayoutTest01()
        {
            String            outFileName         = destinationFolder + "preLayoutTest01.pdf";
            String            cmpFileName         = sourceFolder + "cmp_preLayoutTest01.pdf";
            PdfDocument       pdfDocument         = new PdfDocument(new PdfWriter(outFileName)).SetTagged();
            Document          document            = new Document(pdfDocument, PageSize.Default, false);
            IList <Text>      pageNumberTexts     = new List <Text>();
            IList <IRenderer> pageNumberRenderers = new List <IRenderer>();

            document.SetProperty(Property.FONT, PdfFontFactory.CreateFont(StandardFonts.HELVETICA));
            for (int i = 0; i < 200; i++)
            {
                document.Add(new Paragraph("This is just junk text"));
                if (i % 10 == 0)
                {
                    Text      pageNumberText = new Text("Page #: {pageNumber}");
                    IRenderer renderer       = new TextRenderer(pageNumberText);
                    pageNumberText.SetNextRenderer(renderer);
                    pageNumberRenderers.Add(renderer);
                    Paragraph pageNumberParagraph = new Paragraph().Add(pageNumberText);
                    pageNumberTexts.Add(pageNumberText);
                    document.Add(pageNumberParagraph);
                }
            }
            foreach (IRenderer renderer in pageNumberRenderers)
            {
                String currentData = renderer.ToString().Replace("{pageNumber}", renderer.GetOccupiedArea().GetPageNumber(
                                                                     ).ToString());
                ((TextRenderer)renderer).SetText(currentData);
                ((Text)renderer.GetModelElement()).SetNextRenderer(renderer);
            }
            document.Relayout();
            document.Close();
            NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outFileName, cmpFileName, destinationFolder
                                                                             , "diff"));
        }