Пример #1
0
        public void PDFiumBridge_FPDFRenderPageBitmapWithMatrix_SimpleCall_NoException()
        {
            var matrix   = new FS_MATRIX();
            var clipping = new FS_RECTF();

            _bridge.FPDF_RenderPageBitmapWithMatrix(FPDF_BITMAP.InvalidHandle, FPDF_PAGE.InvalidHandle, ref matrix, ref clipping, FPDF_RENDERING_FLAGS.FPDF_NONE);
        }
Пример #2
0
        /// <summary>
        /// Render the page to the bitmap.
        /// </summary>
        /// <param name="page">Page to render.</param>
        /// <param name="zoomFactor">Zoom factor to use for transformation.</param>
        /// <param name="startX">Left pixel position of the page area to render.</param>
        /// <param name="startY">Top pixel position of the page area to render.</param>
        /// <param name="sizeX">Width of the page area to render.</param>
        /// <param name="sizeY">Height of the page area to render.</param>
        /// <param name="flags">Rendering flags to use for rendering.</param>
        public void RenderWithTransformation(FPDF_PAGE page, double zoomFactor, int startX, int startY, int sizeX, int sizeY, FPDF_RENDERING_FLAGS flags)
        {
            // Translation is performed with [1 0 0 1 tx ty].
            // Scaling is performed with [sx 0 0 sy 0 0].
            FS_MATRIX matrix = new FS_MATRIX {
                A = (float)zoomFactor, B = 0, C = 0, D = (float)zoomFactor, E = startX > 0f ? 0f : startX, F = startY > 0f ? 0f : startY
            };
            FS_RECTF rect = new FS_RECTF {
                Left = startX, Right = startX + sizeX, Top = startY, Bottom = startY + sizeY
            };

            _mainComponent.PDFiumBridge.FPDF_RenderPageBitmapWithMatrix(_bitmapHandle, page, ref matrix, ref rect, flags);
        }
Пример #3
0
        public void FPDFVIEW_Render_Call()
        {
            var pdfFile  = Path.Combine(_pdfFilesFolder, "Precalculus.pdf");
            var bridge   = new PDFiumBridge();
            var document = bridge.FPDF_LoadDocument(pdfFile, null);

            Assert.IsTrue(document.IsValid);
            var page = bridge.FPDF_LoadPage(document, 0);

            Assert.IsTrue(page.IsValid);

            var bitmap = bridge.FPDFBitmap_Create(100, 200, false);

            Assert.IsTrue(bitmap.IsValid);
            bridge.FPDF_RenderPageBitmap(bitmap, page, 0, 0, 100, 200, 0, 0);
            bridge.FPDFBitmap_Destroy(bitmap);

            bitmap = bridge.FPDFBitmap_Create(1000, 2000, false);
            Assert.IsTrue(bitmap.IsValid);

            var matrix = new FS_MATRIX
            {
                A = 1,
                B = 0,
                C = 0,
                D = 1,
                E = 1,
                F = 1,
            };

            var rect = new FS_RECTF
            {
                Left   = 0,
                Right  = 612,
                Top    = 792,
                Bottom = 0,
            };

            bridge.FPDF_RenderPageBitmapWithMatrix(bitmap, page, ref matrix, ref rect, 0);
            bridge.FPDFBitmap_Destroy(bitmap);

            bridge.FPDF_ClosePage(page);
            bridge.FPDF_CloseDocument(document);
            bridge.Dispose();
        }
Пример #4
0
        public void PDFiumBridge_FPDFTextGetMatrix_SimpleCall_NoException()
        {
            var matrix = new FS_MATRIX();

            _bridge.FPDFText_GetMatrix(FPDF_TEXTPAGE.InvalidHandle, 0, ref matrix);
        }
Пример #5
0
 public static extern void FPDF_RenderPageBitmapWithMatrix(IntPtr bitmap, IntPtr page, [In] ref FS_MATRIX matrix, [In] ref FS_RECTF clipping, int flags);