示例#1
0
        }         // proc CheckPageNumber

        /// <summary>Open a page of the pdf-document</summary>
        /// <param name="pageNumber">Page number, zero indexed.</param>
        /// <returns>Page object.</returns>
        public PdfPage OpenPage(int pageNumber)
        {
            CheckPageNumber(pageNumber);

            lock (FPDF_LibraryLock)
                return(new PdfPage(this, FPDF_LoadPage(documentHandle.DangerousGetHandle(), pageNumber), pageNumber));
        }         // func OpenPage
示例#2
0
        private PdfReader(PdfDocumentHandle documentHandle, string pdfName, IDisposable dispose)
        {
            this.documentHandle = documentHandle ?? throw new ArgumentNullException(nameof(documentHandle));
            this.pdfName        = pdfName ?? "unknown.pdf";
            this.dispose        = dispose;

            Properties = new PdfProperties(this);

            // read pdf version
            if (!FPDF_GetFileVersion(documentHandle.DangerousGetHandle(), out var tmp))
            {
                throw PdfReaderException.Create(pdfName);
            }
            pdfVersion = new Version(tmp / 10, tmp % 10);

            // read page count
            pageCount = FPDF_GetPageCount(documentHandle.DangerousGetHandle());
            if (pageCount < 0)
            {
                throw PdfReaderException.Create(pdfName);
            }
        }         // ctor