Пример #1
0
        public void CanWriteSinglePageMixedRenderingMode()
        {
            var builder = new PdfDocumentBuilder();

            PdfPageBuilder page = builder.AddPage(PageSize.A4);

            PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica);

            page.AddText("Hello World!", 12, new PdfPoint(25, 520), font);

            page.SetTextRenderingMode(TextRenderingMode.Neither);

            page.AddText("Invisible!", 12, new PdfPoint(25, 500), font);

            page.SetTextRenderingMode(TextRenderingMode.Fill);

            page.AddText("Filled again!", 12, new PdfPoint(25, 480), font);

            var b = builder.Build();

            WriteFile(nameof(CanWriteSinglePageMixedRenderingMode), b);

            using (var document = PdfDocument.Open(b))
            {
                var page1 = document.GetPage(1);

                Assert.Equal(new[] { "Hello", "World!", "Invisible!", "Filled", "again!" }, page1.GetWords().Select(x => x.Text));
            }
        }
Пример #2
0
        private void writePDFOutput()
        {
            PdfPageBuilder page = builder.AddPage(PageSize.A4);

            // Fonts must be registered with the document builder prior to use to prevent duplication.
            PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica);

            //setting starting poin to write from.
            PdfPoint point = new PdfPoint(25, 700);

            //page.AddText(TreatedText, 12, point, font);
            TreatedText      = TreatedText.Replace(":", ".");
            TreatedTextArray = TreatedText.Split(". ");

            page.AddText($"This is a Placeholder! {TreatedTextArray[0]}  This is a placeholder.", 12, point, font);
            point.MoveY(14);
            //for (int line = 0; line < TreatedTextArray.Length; line++)
            //{
            //    try { page.AddText(TreatedTextArray[line], 12, point, font); }
            //    catch (InvalidOperationException)
            //    {

            //    }
            //    point.MoveY(14);
            //}



            byte[] documentBytes = builder.Build();

            File.WriteAllBytes(_outputPath + _myFileType, documentBytes);
        }
    private void AddMarker(PdfPageBuilder page, int markerIndex, PdfPoint bottomPoint, double width, double height)
    {
        if (markerIndex >= m_Markers.Count)
        {
            return;
        }

        byte[] marker = m_Markers[markerIndex];
        page.AddPng(marker, new PdfRectangle(bottomPoint.X, bottomPoint.Y, bottomPoint.X + width, bottomPoint.Y + height));
        page.DrawRectangle(bottomPoint, (decimal)width, (decimal)height);
    }
Пример #4
0
 public void AddPage()
 {
     if (EmptyPage)
     {
         //Prevents blank first page
         if (pageBuilder is not null)
         {
             builder.AddPage(PageSize.A4);
         }
     }
     pageBuilder = builder.AddPage(PageSize.A4);
     cardCount   = 0;
 }
Пример #5
0
        public void CanWriteSinglePageStandard14FontHelloWorld()
        {
            var builder = new PdfDocumentBuilder();

            PdfPageBuilder page = builder.AddPage(PageSize.A4);

            PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica);

            page.AddText("Hello World!", 12, new PdfPoint(25, 520), font);

            var b = builder.Build();

            WriteFile(nameof(CanWriteSinglePageStandard14FontHelloWorld), b);

            using (var document = PdfDocument.Open(b))
            {
                var page1 = document.GetPage(1);

                Assert.Equal(new[] { "Hello", "World!" }, page1.GetWords().Select(x => x.Text));
            }
        }
    public void Generate(string pdfFileName)
    {
        //Set up the page
        PdfDocumentBuilder builder = new PdfDocumentBuilder();

        int pageCount = CalculatePageCount(m_Markers.Count);

        // page sizes in Millimeters
        // 210 wide, 279 high
        // 10mm page margins
        // 5mm marker margins
        // marker sizes
        // 100mm wide 120mm high
        // Images should be 1182 x 1418 px


        for (int i = 0; i < pageCount; i++)
        {
            PdfPageBuilder page = builder.AddPage(MillimeterToPoint(210), MillimeterToPoint(279));

            //Add the images and border
            double halfWidth    = (page.PageSize.Width / 2);
            double halfHeight   = page.PageSize.Height / 2;
            double pageMargin   = MillimeterToPoint(5);
            double markerMargin = MillimeterToPoint(2);
            double markerWidth  = MillimeterToPoint(100);
            double markerHeight = MillimeterToPoint(120);

            int index = i * 4;
            AddMarker(page, index, new PdfPoint(pageMargin, halfHeight + markerMargin), markerWidth, markerHeight);
            AddMarker(page, index + 1, new PdfPoint(halfWidth + markerMargin, halfHeight + markerMargin), markerWidth, markerHeight);
            AddMarker(page, index + 2, new PdfPoint(pageMargin, pageMargin), markerWidth, markerHeight);
            AddMarker(page, index + 3, new PdfPoint(halfWidth + markerMargin, pageMargin), markerWidth, markerHeight);
        }

        //Export the document
        byte[] documentBytes = builder.Build();
        File.WriteAllBytes(pdfFileName, documentBytes);
    }