Package org.jpedal

Class PdfDecoderServer

  • All Implemented Interfaces:
    org.jpedal.PdfDecoderInt

    public class PdfDecoderServer
    extends Object
    implements org.jpedal.PdfDecoderInt
    Provides an object to decode PDF files and provide a rasterizer if required - Normal usage is to create instance and access via public methods. If you require viewing and printing as well, use PdfDecoder/PdfDecoderFX (which also include all the functionality in PdfDecoderServer)

    Examples showing usage in org.jpedal.examples
    We recommend you access JPedal using only public methods listed in API

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String version  
      • Fields inherited from interface org.jpedal.PdfDecoderInt

        CLIPPEDIMAGES, FINALIMAGES, NOTEXTPRINT, RASTERIZE_FORMS, RAWCOMMANDS, RAWIMAGES, REMOVE_NOFORMS, REMOVE_RENDERSHAPES, RENDERIMAGES, RENDERTEXT, STANDARDTEXTSTRINGPRINT, SUBSTITUTE_FONT_USING_FAMILY_NAME, SUBSTITUTE_FONT_USING_FILE_NAME, SUBSTITUTE_FONT_USING_FULL_FONT_NAME, SUBSTITUTE_FONT_USING_POSTSCRIPT_NAME, SUBSTITUTE_FONT_USING_POSTSCRIPT_NAME_USE_FAMILY_NAME_IF_DUPLICATES, TEXT, TEXTCOLOR, TEXTGLYPHPRINT, TEXTSTRINGPRINT, XFORMMETADATA
    • Constructor Summary

      Constructors 
      Constructor Description
      PdfDecoderServer()
      recommended way to create for most uses
      PdfDecoderServer​(boolean newRender)
      Recommend Constructor to use is PdfDecoder()
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addExternalHandler​(Object newHandler, int type)
      not part of API used internally
      void clearScreen()
      remove all displayed objects for JPanel display (wipes current page)
      void closePdfFile()
      convenience method to close the current PDF file and release all resources/delete any temporary files
      void decodePage​(int rawPage)
      decode a page, - page must be between 1 and PdfDecoder.getPageCount() - Will kill off if already running
      void decodePageInBackground​(int i)
      decode a page as a background thread (use other background methods to access data)
      void dispose()
      convenience method to remove all items from memory If you wish to clear all static objects as well, you will also need to call disposeAllStatic()
      static void disposeAllStatic()
      remove all static elements - only do once completely finished with JPedal as will not be reinitialised
      void drawAdditionalObjectsOverPage​(int page, int[] type, Color[] colors, Object[] obj)
      allow user to add grapical content on top of page - for display ONLY Additional calls will overwrite current settings on page ONLY works in SINGLE VIEW displaymode
      void flushAdditionalObjectsOnPage​(int page)
      allow user to remove all additional grapical content from the page (only for display) ONLY works in SINGLE VIEW displaymode
      void flushObjectValues​(boolean reinit)
      provide method for outside class to clear store of objects once written out to reclaim memory
      org.jpedal.grouping.PdfGroupingAlgorithms getBackgroundGroupingObject()
      returns object containing grouped text from background grouping - Please see org.jpedal.examples.text for example code
      org.jpedal.parser.DecoderOptions getDecoderOptions()
      Return decoder options as object for cases where value is needed externally and can't be static
      org.jpedal.display.DisplayOffsets getDisplayOffsets()  
      int getDisplayRotation()
      current page rotation (in addition to rotation in file) in degrees So if user turns page by 90 degrees, value will be 90
      int getDisplayView()
      returns view mode used - ie SINGLE_PAGE,CONTINUOUS,FACING,CONTINUOUS_FACING (no effect in OS versions)
      org.jpedal.utils.DPIFactory getDPIFactory()
      return handle on PDFFactory which adjusts display size so matches size in Acrobat
      org.jpedal.render.DynamicVectorRenderer getDynamicRenderer()
      Not part of API - used internally
      org.jpedal.render.DynamicVectorRenderer getDynamicRenderer​(boolean reset)
      Not part of API - used internally
      org.jpedal.external.ExternalHandlers getExternalHandler()  
      Object getExternalHandler​(int type)
      not part of API used internally
      org.jpedal.objects.PdfFileInformation getFileInformationData()
      method to return null or object giving access info fields and metadata.
      String getFileName()
      currently open PDF file name
      org.jpedal.objects.acroforms.AcroRenderer getFormRenderer()
      Allow user to access Forms renderer object if needed
      org.jpedal.grouping.PdfGroupingAlgorithms getGroupingObject()
      returns object containing grouped text of last decoded page - if no page decoded, a Runtime exception is thrown to warn user Please see org.jpedal.examples.text for example code.
      float getHiResUpscaleFactor()
      return scaleup factor applied to last Hires image of page generated
      String getInfo​(int type)
      Returns list of the fonts used on the current page decoded or null type can be PdfDictionary.Font or PdfDictionary.Image
      int getInsetH()
      Return amount to inset the page rectangle height by
      int getInsetW()
      Return amount to inset the page rectangle width by
      org.jpedal.io.PdfObjectReader getIO()
      allow access to PDF file
      org.jpedal.objects.Javascript getJavaScript()
      Allow user to access javascript object if needed
      Object getJPedalObject​(int id)
      Not part of API - used internally
      int getlastPageDecoded()
      return page number for last page decoded (only use in SingleDisplay mode)
      Document getMarkedContent()
      return markedContent object as XML Document
      int[] getMaxSizeWH()  
      org.jpedal.io.ObjectStore getObjectStore()
      return object which provides access to file images and name
      Document getOutlineAsXML()
      return a DOM document containing the PDF Outline object as a DOM Document - may return null
      org.jpedal.objects.outlines.OutlineData getOutlineData()
      provide direct access to outlineData object
      int getPageAlignment()
      return type of alignment for pages if smaller than panel - see options in Display class.
      BufferedImage getPageAsHiRes​(int pageIndex)  
      BufferedImage getPageAsHiRes​(int pageIndex, boolean isTransparent)  
      BufferedImage getPageAsHiRes​(int pageIndex, Map<Integer,​Object> params)  
      BufferedImage getPageAsHiRes​(int pageIndex, Map<Integer,​Object> params, boolean isTransparent)  
      BufferedImage getPageAsImage​(int pageIndex)
      generate BufferedImage of a page in current file
      BufferedImage getPageAsImage​(int pageIndex, float scaling)
      generate BufferedImage of a page in current file with the given scaling
      BufferedImage getPageAsTransparentImage​(int pageIndex)
      generate BufferedImage of a page in current file
      int getPageCount()
      get page count of current PDF file
      String getPageDecodeReport()
      return any errors or other messages while calling decodePage() - zero length is no problems
      boolean getPageDecodeStatus​(int status)
      returns booleans based on flags in class org.jpedal.parser.DecoderStatus
      String getPageDecodeStatusReport​(int status)
      get page statuses (flags in class org.jpedal.parser.DecoderStatus)
      int getPageFromObjectRef​(String ref)
      given a ref, what is the page
      Iterator<Integer> getPageInfo​(int type)
      return details on page for type (defined in org.jpedal.constants.PageInfo) or null if no values Unrecognised key will throw a RunTime exception
      int getPageNumber()
      current logical page number
      org.jpedal.display.Display getPages()
      not part of API - do not use
      int[] getPaneBounds()  
      org.jpedal.objects.PdfData getPdfBackgroundData()
      NOT PART OF API
      org.jpedal.objects.PdfImageData getPdfBackgroundImageData()
      provide method for outside class to get data object containing images.
      org.jpedal.objects.PdfData getPdfData()
      Access should not generally be required to this class but used in examples.
      int getPDFHeight()
      get sizes of panel - This is the PDF pagesize
      org.jpedal.objects.PdfImageData getPdfImageData()
      provide method for outside class to get data object containing images
      org.jpedal.objects.PdfPageData getPdfPageData()
      Provides method for outside class to get data object containing information on the page for calculating grouping
      Please note: Structure of PdfPageData is not guaranteed to remain constant.
      String getPDFVersion()
      get PDF version in file
      int getPDFWidth()
      get sizes of panel
      This is the PDF pagesize (as set in the PDF from pagesize) - It now includes any scaling factor you have set
      float getScaling()
      returns current scaling value used internally
      int getScrollInterval()
      Return amount to scroll window by when scrolling (default is 10).
      BufferedImage getSelectedRectangleOnscreen​(float t_x1, float t_y1, float t_x2, float t_y2, float scaling)  
      int getSpecialMode()
      retusn a value defined in SpecialOptions used internally and in custom JPedal releases in PdfDecoder - always returns 0 in this class
      org.jpedal.text.TextLines getTextLines()
      access textlines object
      int getTextPrint()  
      Rectangle getVisibleRect()  
      boolean hasAllImages()
      flag to show if we suspect problem with some images
      boolean hasEmbeddedFonts()
      shows if embedded fonts present on page just decoded
      boolean hasOutline()
      flag to show if PDF document contains an outline
      static void init​(boolean newEmbedWidthData)
      This will be needed for text extraction and set to true as paramter makes sure widths included in text stream
      boolean isEncrypted()
      return true if the current pdf file is encrypted
      check isFileViewable(),

      if file is encrypted and not viewable - a user specified password is needed.
      boolean isExtractionAllowed()
      show if content can be extracted
      boolean isFileViewable()
      show if encrypted file can be viewed,
      if false a password needs entering
      boolean isForm()
      return true if currently open PDF file is a PDF form
      boolean isLoadingLinearizedPDF()
      track if file still loaded in background
      boolean isOpen()
      see if file open - may not be open if user interrupted open or problem encountered
      boolean isPageAvailable​(int rawPage)
      see if page available if in Linearized mode or return true
      boolean isPasswordSupplied()
      show if encryption password has been supplied or set a certificate
      boolean isXMLExtraction()
      shows if text extraction is XML or pure text
      static void modifyJPedalParameters​(Map<Integer,​Object> values)
      allow user to alter certain values in software such as Colour,
      void modifyNonstaticJPedalParameters​(Map<Integer,​Object> values)
      allow user to alter certain values in software such as Colour,
      void openPdfArray​(byte[] data)
      routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages.
      void openPdfArray​(byte[] data, String password)
      routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages.
      void openPdfFile​(String filename)
      routine to open PDF file and extract key info from pdf file so we can decode any pages.
      void openPdfFile​(String filename, String password)
      routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password.
      void openPdfFile​(String filename, Certificate certificate, PrivateKey key)
      allow user to open file using Certificate and key
      boolean openPdfFileFromInputStream​(InputStream is, boolean supportLinearized)
      routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
      You must explicitly close any open files with closePdfFile() to Java will not release all the memory
      boolean openPdfFileFromInputStream​(InputStream is, boolean supportLinearized, String password)
      routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
      You must explicitly close any open files with closePdfFile() to Java will not release all the memory
      void openPdfFileFromStream​(Object filename, String password)
      routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password.
      boolean openPdfFileFromURL​(String pdfUrl, boolean supportLinearized)
      routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
      You must explicitly close any open files with closePdfFile() so Java will release all the memory
      boolean openPdfFileFromURL​(String pdfUrl, boolean supportLinearized, String password)
      routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
      You must explicitly close any open files with closePdfFile() so Java will release all the memory
      void repaint()  
      void repaintPane​(int page)  
      void requestFocus()  
      void resetForNonPDFPage​(int pageCount)
      used for non-PDF files to reset page
      void setDisplayRotation​(int newRotation)  
      void setEncryptionPassword​(String password)
      set a password for encryption - software will resolve if user or owner password- calls verifyAccess() from 2.74 so no separate call needed
      void setEncryptTempFiles()
      ensure that files are always encrypted if cached to disk regardless of whether file has a password set
      void setExtractionMode​(int mode)
      set extraction mode telling JPedal what to extract - (TEXT,RAWIMAGES,FINALIMAGES - add together to combine) - See org.jpedal.examples for specific extraction examples
      void setExtractionMode​(int mode, float scaling)
      Please do not use for general usage.
      void setHardwareAccelerationforScreen​(boolean useAcceleration)  
      void setInset​(int width, int height)  
      void setObjectStore​(org.jpedal.io.ObjectStore newStore)
      return object which provides access to file images and name (use not recommended)
      void setPageMode​(int mode)
      Not part of API - used internally
      void setPageParameters​(float scaling, int pageNumber)
      initialise panel and set size to fit PDF page
      intializes display with rotation set to the default, specified in the PDF document scaling value of -1 means keep existing setting
      void setPageParameters​(float scaling, int pageNumber, int newRotation)
      calls setPageParameters(scaling,pageNumber) after setting rotation to draw page
      void setPDFBorder​(Border newBorder)  
      void setPreviewThumbnail​(BufferedImage previewImage, String previewText)
      internal method used by Viewer to provide preview of PDF in Viewer
      void setRenderMode​(int mode)
      set render mode to state what is displayed onscreen (ie RENDERTEXT,RENDERIMAGES) - only generally required if you do not wish to show all objects on screen (default is all).
      void setScaling​(float scaleFactor)
      allow user to adjust scaling factor on page in Viewer - DOES NOTHING in this class
      void setScrollInterval​(int scrollInterval)
      Sets the ammount to scroll the window by (default is 10).
      void setStatusBarObject​(org.jpedal.io.StatusBar statusBar)  
      void setStreamCacheSize​(int size)
      allows user to cache large objects to disk to avoid memory issues, setting minimum size in bytes (of uncompressed stream) above which object will be stored on disk if possible (default is -1 bytes which is all objects stored in memory) - Must be set before file opened.
      void setUserOffsets​(int x, int y, int mode)  
      static void showExpiry()  
      void updateCursorBoxOnScreen​(int[] rectParams, int outlineColor)  
      boolean useNewGraphicsMode()  
      void useNewGraphicsMode​(boolean isEnabled)
      switches on or off glow border in JPedal viewer - does nothing in this class
      void useTextExtraction()
      Controls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)
      void useXMLExtraction()
      Controls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)
      void waitForDecodingToFinish()
      wait for decoding to finish
    • Field Detail

      • version

        public static final String version
    • Constructor Detail

      • PdfDecoderServer

        public PdfDecoderServer​(boolean newRender)
        Recommend Constructor to use is PdfDecoder()
        Parameters:
        newRender - flag to show if pages are being rendered (true) or only extraction taking place (false).
      • PdfDecoderServer

        public PdfDecoderServer()
        recommended way to create for most uses

        Otherwise use PdfDecoder(render)

    • Method Detail

      • setEncryptTempFiles

        public void setEncryptTempFiles()
        ensure that files are always encrypted if cached to disk regardless of whether file has a password set
        Specified by:
        setEncryptTempFiles in interface org.jpedal.PdfDecoderInt
      • isOpen

        public boolean isOpen()
        see if file open - may not be open if user interrupted open or problem encountered
        Specified by:
        isOpen in interface org.jpedal.PdfDecoderInt
      • getMarkedContent

        public Document getMarkedContent()
        return markedContent object as XML Document
        Specified by:
        getMarkedContent in interface org.jpedal.PdfDecoderInt
        Returns:
        Document containing XML structure with data
      • getDisplayRotation

        public int getDisplayRotation()
        current page rotation (in addition to rotation in file) in degrees So if user turns page by 90 degrees, value will be 90
        Specified by:
        getDisplayRotation in interface org.jpedal.PdfDecoderInt
        Returns:
        int
      • getPageNumber

        public int getPageNumber()
        current logical page number
        Specified by:
        getPageNumber in interface org.jpedal.PdfDecoderInt
        Returns:
        int
      • setDisplayRotation

        public void setDisplayRotation​(int newRotation)
        Specified by:
        setDisplayRotation in interface org.jpedal.PdfDecoderInt
      • getPages

        public org.jpedal.display.Display getPages()
        not part of API - do not use
        Specified by:
        getPages in interface org.jpedal.PdfDecoderInt
        Returns:
        Display
      • getlastPageDecoded

        public int getlastPageDecoded()
        return page number for last page decoded (only use in SingleDisplay mode)
        Specified by:
        getlastPageDecoded in interface org.jpedal.PdfDecoderInt
      • getPageInfo

        public Iterator<Integer> getPageInfo​(int type)
        return details on page for type (defined in org.jpedal.constants.PageInfo) or null if no values Unrecognised key will throw a RunTime exception

        null returned if JPedal not clear on result

        Specified by:
        getPageInfo in interface org.jpedal.PdfDecoderInt
      • getOutlineData

        public org.jpedal.objects.outlines.OutlineData getOutlineData()
        provide direct access to outlineData object
        Specified by:
        getOutlineData in interface org.jpedal.PdfDecoderInt
        Returns:
        OutlineData
      • isLoadingLinearizedPDF

        public boolean isLoadingLinearizedPDF()
        track if file still loaded in background
        Specified by:
        isLoadingLinearizedPDF in interface org.jpedal.PdfDecoderInt
        Returns:
        boolean
      • showExpiry

        public static void showExpiry()
      • getPageAlignment

        public int getPageAlignment()
        return type of alignment for pages if smaller than panel - see options in Display class.
        Specified by:
        getPageAlignment in interface org.jpedal.PdfDecoderInt
      • init

        public static void init​(boolean newEmbedWidthData)
        This will be needed for text extraction and set to true as paramter makes sure widths included in text stream
        Parameters:
        newEmbedWidthData - - flag to embed width data in text fragments for use by grouping algorithms
      • disposeAllStatic

        public static void disposeAllStatic()
        remove all static elements - only do once completely finished with JPedal as will not be reinitialised
      • dispose

        public final void dispose()
        convenience method to remove all items from memory If you wish to clear all static objects as well, you will also need to call disposeAllStatic()
        Specified by:
        dispose in interface org.jpedal.PdfDecoderInt
      • closePdfFile

        public final void closePdfFile()
        convenience method to close the current PDF file and release all resources/delete any temporary files
        Specified by:
        closePdfFile in interface org.jpedal.PdfDecoderInt
      • getPdfBackgroundData

        public final org.jpedal.objects.PdfData getPdfBackgroundData()
        NOT PART OF API

        Access should not generally be required to this class. Please look at getBackgroundGroupingObject() - provide method for outside class to get data object containing text and metrics of text. - Viewer can only access data for finding on page

        Returns:
        PdfData object containing text content from PDF
      • getPdfData

        public final org.jpedal.objects.PdfData getPdfData()
                                                    throws PdfException
        Access should not generally be required to this class but used in examples. Returns the PdfData object containing raw content from page
        Specified by:
        getPdfData in interface org.jpedal.PdfDecoderInt
        Returns:
        PdfData object containing text content from PDF
        Throws:
        PdfException
      • hasOutline

        public final boolean hasOutline()
        flag to show if PDF document contains an outline
        Specified by:
        hasOutline in interface org.jpedal.PdfDecoderInt
      • getOutlineAsXML

        public final Document getOutlineAsXML()
        return a DOM document containing the PDF Outline object as a DOM Document - may return null
        Specified by:
        getOutlineAsXML in interface org.jpedal.PdfDecoderInt
      • getPdfPageData

        public final org.jpedal.objects.PdfPageData getPdfPageData()
        Provides method for outside class to get data object containing information on the page for calculating grouping
        Please note: Structure of PdfPageData is not guaranteed to remain constant. Please contact IDRsolutions for advice.
        Specified by:
        getPdfPageData in interface org.jpedal.PdfDecoderInt
        Returns:
        PdfPageData object
      • getPageAsHiRes

        public BufferedImage getPageAsHiRes​(int pageIndex)
                                     throws PdfException
        Specified by:
        getPageAsHiRes in interface org.jpedal.PdfDecoderInt
        Parameters:
        pageIndex - number of the page we want to extract
        Returns:
        image of the extracted page
        Throws:
        PdfException - Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
      • getPageAsHiRes

        public BufferedImage getPageAsHiRes​(int pageIndex,
                                            Map<Integer,​Object> params)
                                     throws PdfException
        Specified by:
        getPageAsHiRes in interface org.jpedal.PdfDecoderInt
        Parameters:
        pageIndex - number of the page we want to extract
        params - list of values to override static settings in modifyJPedalParameters for this instance only
        Returns:
        image of the extracted page
        Throws:
        PdfException - Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
      • getPageAsHiRes

        public BufferedImage getPageAsHiRes​(int pageIndex,
                                            Map<Integer,​Object> params,
                                            boolean isTransparent)
                                     throws PdfException
        Specified by:
        getPageAsHiRes in interface org.jpedal.PdfDecoderInt
        Parameters:
        pageIndex - number of the page we want to extract
        params - list of values to override static settings in modifyJPedalParameters for this instance only
        isTransparent - - set if transparent or has background
        Returns:
        image of the extracted page
        Throws:
        PdfException - Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
      • getPageAsHiRes

        public BufferedImage getPageAsHiRes​(int pageIndex,
                                            boolean isTransparent)
                                     throws PdfException
        Specified by:
        getPageAsHiRes in interface org.jpedal.PdfDecoderInt
        Parameters:
        pageIndex - number of the page we want to extract
        Returns:
        image of the extracted page
        Throws:
        PdfException - Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for full details
      • getPageAsImage

        public BufferedImage getPageAsImage​(int pageIndex)
                                     throws PdfException
        generate BufferedImage of a page in current file

        Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToImages.java.html for full details

        Specified by:
        getPageAsImage in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • getPageAsImage

        public BufferedImage getPageAsImage​(int pageIndex,
                                            float scaling)
                                     throws PdfException
        generate BufferedImage of a page in current file with the given scaling

        Page size is defined by CropBox see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToImages.java.html for full details

        Specified by:
        getPageAsImage in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • getPageAsTransparentImage

        public BufferedImage getPageAsTransparentImage​(int pageIndex)
                                                throws PdfException
        generate BufferedImage of a page in current file

        Page size is defined by CropBox

        Specified by:
        getPageAsTransparentImage in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • getHiResUpscaleFactor

        public float getHiResUpscaleFactor()
        return scaleup factor applied to last Hires image of page generated

        negative values mean no upscaling applied and should be ignored

        Specified by:
        getHiResUpscaleFactor in interface org.jpedal.PdfDecoderInt
      • flushObjectValues

        public final void flushObjectValues​(boolean reinit)
        provide method for outside class to clear store of objects once written out to reclaim memory
        Specified by:
        flushObjectValues in interface org.jpedal.PdfDecoderInt
        Parameters:
        reinit - lag to show if image data flushed as well
      • getPdfImageData

        public final org.jpedal.objects.PdfImageData getPdfImageData()
        provide method for outside class to get data object containing images

        Please look at examples for usage

        Specified by:
        getPdfImageData in interface org.jpedal.PdfDecoderInt
        Returns:
        PdfImageData containing image metadata
      • getPdfBackgroundImageData

        public final org.jpedal.objects.PdfImageData getPdfBackgroundImageData()
        provide method for outside class to get data object containing images.

        Please look at examples for usage

        Returns:
        PdfImageData containing image metadata
      • setRenderMode

        public final void setRenderMode​(int mode)
        set render mode to state what is displayed onscreen (ie RENDERTEXT,RENDERIMAGES) - only generally required if you do not wish to show all objects on screen (default is all). Add values together to combine settings.
        Specified by:
        setRenderMode in interface org.jpedal.PdfDecoderInt
      • setExtractionMode

        public final void setExtractionMode​(int mode)
        set extraction mode telling JPedal what to extract - (TEXT,RAWIMAGES,FINALIMAGES - add together to combine) - See org.jpedal.examples for specific extraction examples
        Specified by:
        setExtractionMode in interface org.jpedal.PdfDecoderInt
      • modifyNonstaticJPedalParameters

        public void modifyNonstaticJPedalParameters​(Map<Integer,​Object> values)
                                             throws PdfException
        allow user to alter certain values in software such as Colour,

        Please note all Color and text highlighting values are static and common across the JVM

        Specified by:
        modifyNonstaticJPedalParameters in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • modifyJPedalParameters

        public static void modifyJPedalParameters​(Map<Integer,​Object> values)
                                           throws PdfException
        allow user to alter certain values in software such as Colour,

        If you are using decoder.getPageAsHiRes() after passing additional parameters into JPedal using the static method PdfDecoder.modifyJPedalParameters(), then getPageAsHiRes() wont necessarily be thread safe. If you want to use getPageAsHiRes() and pass in additional parameters, in a thread safe mannor, please use the method getPageAsHiRes(int pageIndex, Map params) or getPageAsHiRes(int pageIndex, Map params, boolean isTransparent) and pass the additional parameters in directly to the getPageAsHiRes() method without calling PdfDecoder.modifyJPedalParameters() first.

        Please see http://files.idrsolutions.com/samplecode/org/jpedal/examples/images/ConvertPagesToHiResImages.java.html for example of usage

        Please note all Color and text highlighting values except page colour are static and common across the JVM

        Throws:
        PdfException
      • getFileInformationData

        public final org.jpedal.objects.PdfFileInformation getFileInformationData()
        method to return null or object giving access info fields and metadata.
        Specified by:
        getFileInformationData in interface org.jpedal.PdfDecoderInt
      • setExtractionMode

        public final void setExtractionMode​(int mode,
                                            float scaling)
        Please do not use for general usage. Use setPageParameters(scalingValue, pageNumber) to set page scaling
        Specified by:
        setExtractionMode in interface org.jpedal.PdfDecoderInt
      • getDPIFactory

        public org.jpedal.utils.DPIFactory getDPIFactory()
        return handle on PDFFactory which adjusts display size so matches size in Acrobat
        Specified by:
        getDPIFactory in interface org.jpedal.PdfDecoderInt
        Returns:
        DPIFactory
      • setPageParameters

        public final void setPageParameters​(float scaling,
                                            int pageNumber)
        initialise panel and set size to fit PDF page
        intializes display with rotation set to the default, specified in the PDF document scaling value of -1 means keep existing setting
        Specified by:
        setPageParameters in interface org.jpedal.PdfDecoderInt
      • setPageParameters

        public final void setPageParameters​(float scaling,
                                            int pageNumber,
                                            int newRotation)
        calls setPageParameters(scaling,pageNumber) after setting rotation to draw page
        Specified by:
        setPageParameters in interface org.jpedal.PdfDecoderInt
      • waitForDecodingToFinish

        public void waitForDecodingToFinish()
        wait for decoding to finish
        Specified by:
        waitForDecodingToFinish in interface org.jpedal.PdfDecoderInt
      • getDynamicRenderer

        public org.jpedal.render.DynamicVectorRenderer getDynamicRenderer()
        Not part of API - used internally

        gets DynamicVector Object

        Specified by:
        getDynamicRenderer in interface org.jpedal.PdfDecoderInt
      • getDynamicRenderer

        public org.jpedal.render.DynamicVectorRenderer getDynamicRenderer​(boolean reset)
        Not part of API - used internally

        gets DynamicVector Object - NOT PART OF API and subject to change (DO NOT USE)

        Specified by:
        getDynamicRenderer in interface org.jpedal.PdfDecoderInt
      • getIO

        public org.jpedal.io.PdfObjectReader getIO()
        allow access to PDF file
        Specified by:
        getIO in interface org.jpedal.PdfDecoderInt
        Returns:
        PdfObjectReader
      • decodePage

        public final void decodePage​(int rawPage)
        decode a page, - page must be between 1 and PdfDecoder.getPageCount() - Will kill off if already running

        returns minus page if trying to open linearized page not yet available

        Specified by:
        decodePage in interface org.jpedal.PdfDecoderInt
      • isPageAvailable

        public boolean isPageAvailable​(int rawPage)
        see if page available if in Linearized mode or return true
        Specified by:
        isPageAvailable in interface org.jpedal.PdfDecoderInt
        Parameters:
        rawPage - page to check
        Returns:
        boolean
      • drawAdditionalObjectsOverPage

        public void drawAdditionalObjectsOverPage​(int page,
                                                  int[] type,
                                                  Color[] colors,
                                                  Object[] obj)
                                           throws PdfException
        allow user to add grapical content on top of page - for display ONLY Additional calls will overwrite current settings on page ONLY works in SINGLE VIEW displaymode
        Specified by:
        drawAdditionalObjectsOverPage in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • flushAdditionalObjectsOnPage

        public void flushAdditionalObjectsOnPage​(int page)
        allow user to remove all additional grapical content from the page (only for display) ONLY works in SINGLE VIEW displaymode
        Specified by:
        flushAdditionalObjectsOnPage in interface org.jpedal.PdfDecoderInt
      • decodePageInBackground

        public final void decodePageInBackground​(int i)
        decode a page as a background thread (use other background methods to access data)

        we now recommend you use decodePage as this has been heavily optimised for speed

        Specified by:
        decodePageInBackground in interface org.jpedal.PdfDecoderInt
      • getPageCount

        public final int getPageCount()
        get page count of current PDF file
        Specified by:
        getPageCount in interface org.jpedal.PdfDecoderInt
      • isEncrypted

        public final boolean isEncrypted()
        return true if the current pdf file is encrypted
        check isFileViewable(),

        if file is encrypted and not viewable - a user specified password is needed.
        Specified by:
        isEncrypted in interface org.jpedal.PdfDecoderInt
      • isPasswordSupplied

        public final boolean isPasswordSupplied()
        show if encryption password has been supplied or set a certificate
        Specified by:
        isPasswordSupplied in interface org.jpedal.PdfDecoderInt
      • isFileViewable

        public boolean isFileViewable()
        show if encrypted file can be viewed,
        if false a password needs entering
        Specified by:
        isFileViewable in interface org.jpedal.PdfDecoderInt
      • isExtractionAllowed

        public boolean isExtractionAllowed()
        show if content can be extracted
        Specified by:
        isExtractionAllowed in interface org.jpedal.PdfDecoderInt
      • setEncryptionPassword

        public final void setEncryptionPassword​(String password)
                                         throws PdfException
        set a password for encryption - software will resolve if user or owner password- calls verifyAccess() from 2.74 so no separate call needed
        Specified by:
        setEncryptionPassword in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfArray

        public final void openPdfArray​(byte[] data)
                                throws PdfException
        routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages. Does not actually decode the pages themselves - By default files over 16384 bytes are cached to disk but this can be altered by setting PdfFileReader.alwaysCacheInMemory to a maximimum size or -1 (always keep in memory)
        Specified by:
        openPdfArray in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfArray

        public final void openPdfArray​(byte[] data,
                                       String password)
                                throws PdfException
        routine to open a byte stream containing the PDF file and extract key info from pdf file so we can decode any pages. Does not actually decode the pages themselves - By default files over 16384 bytes are cached to disk but this can be altered by setting PdfFileReader.alwaysCacheInMemory to a maximimum size or -1 (always keep in memory)
        Specified by:
        openPdfArray in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFile

        public void openPdfFile​(String filename,
                                Certificate certificate,
                                PrivateKey key)
                         throws PdfException
        allow user to open file using Certificate and key
        Specified by:
        openPdfFile in interface org.jpedal.PdfDecoderInt
        Parameters:
        filename - file to open
        certificate - certificate, if any
        key - key, if any
        Throws:
        PdfException
      • openPdfFileFromStream

        public final void openPdfFileFromStream​(Object filename,
                                                String password)
                                         throws PdfException
        routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password. Does not actually decode the pages themselves. Also reads the form data. You must explicitly close your stream!!
        Specified by:
        openPdfFileFromStream in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFile

        public final void openPdfFile​(String filename)
                               throws PdfException
        routine to open PDF file and extract key info from pdf file so we can decode any pages. Does not actually decode the pages themselves. Also reads the form data. You must explicitly close any open files with closePdfFile() to Java will not release all the memory
        Specified by:
        openPdfFile in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFile

        public final void openPdfFile​(String filename,
                                      String password)
                               throws PdfException
        routine to open PDF file and extract key info from pdf file so we can decode any pages which also sets password. Does not actually decode the pages themselves. Also reads the form data. You must explicitly close any open files with closePdfFile() or Java will not release all the memory
        Specified by:
        openPdfFile in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFileFromURL

        public final boolean openPdfFileFromURL​(String pdfUrl,
                                                boolean supportLinearized)
                                         throws PdfException
        routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
        You must explicitly close any open files with closePdfFile() so Java will release all the memory

        If boolean supportLinearized is true, method will return with true value once Linearized part read

        Specified by:
        openPdfFileFromURL in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFileFromURL

        public final boolean openPdfFileFromURL​(String pdfUrl,
                                                boolean supportLinearized,
                                                String password)
                                         throws PdfException
        routine to open PDF file via URL and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves - Also reads the form data - Based on an idea by Peter Jacobsen
        You must explicitly close any open files with closePdfFile() so Java will release all the memory

        If boolean supportLinearized is true, method will return with true value once Linearized part read

        Specified by:
        openPdfFileFromURL in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFileFromInputStream

        public final boolean openPdfFileFromInputStream​(InputStream is,
                                                        boolean supportLinearized)
                                                 throws PdfException
        routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
        You must explicitly close any open files with closePdfFile() to Java will not release all the memory

        IMPORTANT NOTE: If the stream does not contain enough bytes, test for Linearization may fail If boolean supportLinearized is true, method will return with true value once Linearized part read (we recommend use you false unless you know exactly what you are doing)

        Specified by:
        openPdfFileFromInputStream in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • openPdfFileFromInputStream

        public final boolean openPdfFileFromInputStream​(InputStream is,
                                                        boolean supportLinearized,
                                                        String password)
                                                 throws PdfException
        routine to open PDF file via InputStream and extract key info from pdf file so we can decode any pages - Does not actually decode the pages themselves -
        You must explicitly close any open files with closePdfFile() to Java will not release all the memory

        IMPORTANT NOTE: If the stream does not contain enough bytes, test for Linearization may fail If boolean supportLinearized is true, method will return with true value once Linearized part read (we recommend use you false unless you know exactly what you are doing)

        Specified by:
        openPdfFileFromInputStream in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • getJPedalObject

        public Object getJPedalObject​(int id)
        Not part of API - used internally

        will return some dictionary values - if not a set value, will return null

        Specified by:
        getJPedalObject in interface org.jpedal.PdfDecoderInt
        Returns:
        Object
      • setPageMode

        public void setPageMode​(int mode)
        Not part of API - used internally
        Specified by:
        setPageMode in interface org.jpedal.PdfDecoderInt
        Parameters:
        mode - mode
      • isXMLExtraction

        public boolean isXMLExtraction()
        shows if text extraction is XML or pure text
        Specified by:
        isXMLExtraction in interface org.jpedal.PdfDecoderInt
      • useTextExtraction

        public void useTextExtraction()
        Controls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)
        Specified by:
        useTextExtraction in interface org.jpedal.PdfDecoderInt
      • useXMLExtraction

        public void useXMLExtraction()
        Controls type of text extraction if using JPedal purely for as a text extraction engine (otherwise do not touch) XML extraction is the default - pure text extraction is much faster for pure Text extraction, otherwise should not need to be set (for examples and more details see https://www.idrsolutions.com/how-to-extract-text-from-pdf-files/)
        Specified by:
        useXMLExtraction in interface org.jpedal.PdfDecoderInt
      • clearScreen

        public void clearScreen()
        remove all displayed objects for JPanel display (wipes current page)
      • setStreamCacheSize

        public void setStreamCacheSize​(int size)
        allows user to cache large objects to disk to avoid memory issues, setting minimum size in bytes (of uncompressed stream) above which object will be stored on disk if possible (default is -1 bytes which is all objects stored in memory) - Must be set before file opened.
        Specified by:
        setStreamCacheSize in interface org.jpedal.PdfDecoderInt
      • setUserOffsets

        public void setUserOffsets​(int x,
                                   int y,
                                   int mode)
        Specified by:
        setUserOffsets in interface org.jpedal.PdfDecoderInt
      • hasEmbeddedFonts

        public boolean hasEmbeddedFonts()
        shows if embedded fonts present on page just decoded
        Specified by:
        hasEmbeddedFonts in interface org.jpedal.PdfDecoderInt
      • getPageFromObjectRef

        public int getPageFromObjectRef​(String ref)
        given a ref, what is the page
        Specified by:
        getPageFromObjectRef in interface org.jpedal.PdfDecoderInt
        Parameters:
        ref - - PDF object reference
        Returns:
        - page number with being first page
      • getInfo

        public String getInfo​(int type)
        Returns list of the fonts used on the current page decoded or null type can be PdfDictionary.Font or PdfDictionary.Image
        Specified by:
        getInfo in interface org.jpedal.PdfDecoderInt
      • getFormRenderer

        public org.jpedal.objects.acroforms.AcroRenderer getFormRenderer()
        Allow user to access Forms renderer object if needed
        Specified by:
        getFormRenderer in interface org.jpedal.PdfDecoderInt
      • getJavaScript

        public org.jpedal.objects.Javascript getJavaScript()
        Allow user to access javascript object if needed
        Specified by:
        getJavaScript in interface org.jpedal.PdfDecoderInt
      • getPageDecodeReport

        public String getPageDecodeReport()
        return any errors or other messages while calling decodePage() - zero length is no problems
        Specified by:
        getPageDecodeReport in interface org.jpedal.PdfDecoderInt
      • getObjectStore

        public org.jpedal.io.ObjectStore getObjectStore()
        return object which provides access to file images and name
        Specified by:
        getObjectStore in interface org.jpedal.PdfDecoderInt
      • setObjectStore

        public void setObjectStore​(org.jpedal.io.ObjectStore newStore)
        return object which provides access to file images and name (use not recommended)
        Specified by:
        setObjectStore in interface org.jpedal.PdfDecoderInt
      • getDecoderOptions

        public org.jpedal.parser.DecoderOptions getDecoderOptions()
        Return decoder options as object for cases where value is needed externally and can't be static
        Specified by:
        getDecoderOptions in interface org.jpedal.PdfDecoderInt
        Returns:
        DecoderOptions object containing settings for this PdfDecoder object
      • getGroupingObject

        public org.jpedal.grouping.PdfGroupingAlgorithms getGroupingObject()
                                                                    throws PdfException
        returns object containing grouped text of last decoded page - if no page decoded, a Runtime exception is thrown to warn user Please see org.jpedal.examples.text for example code.
        Specified by:
        getGroupingObject in interface org.jpedal.PdfDecoderInt
        Throws:
        PdfException
      • getBackgroundGroupingObject

        public org.jpedal.grouping.PdfGroupingAlgorithms getBackgroundGroupingObject()
        returns object containing grouped text from background grouping - Please see org.jpedal.examples.text for example code
        Specified by:
        getBackgroundGroupingObject in interface org.jpedal.PdfDecoderInt
      • getPDFVersion

        public final String getPDFVersion()
        get PDF version in file
        Specified by:
        getPDFVersion in interface org.jpedal.PdfDecoderInt
      • hasAllImages

        public boolean hasAllImages()
        flag to show if we suspect problem with some images
      • getPageDecodeStatus

        public boolean getPageDecodeStatus​(int status)
        returns booleans based on flags in class org.jpedal.parser.DecoderStatus
        Specified by:
        getPageDecodeStatus in interface org.jpedal.PdfDecoderInt
        Parameters:
        status - decode status
        Returns:
        boolean
      • getPageDecodeStatusReport

        public String getPageDecodeStatusReport​(int status)
        get page statuses (flags in class org.jpedal.parser.DecoderStatus)
        Specified by:
        getPageDecodeStatusReport in interface org.jpedal.PdfDecoderInt
      • addExternalHandler

        public void addExternalHandler​(Object newHandler,
                                       int type)
        not part of API used internally

        allows external helper classes to be added to JPedal to alter default functionality -

        Specified by:
        addExternalHandler in interface org.jpedal.PdfDecoderInt
        Parameters:
        newHandler - handler to add
        type - type of handler
      • getExternalHandler

        public Object getExternalHandler​(int type)
        not part of API used internally

        allows external helper classes to be accessed if needed - also allows user to access SwingGUI if running full Viewer package - not all Options available to get - please contact IDRsolutions if you are looking to use

        Specified by:
        getExternalHandler in interface org.jpedal.PdfDecoderInt
        Parameters:
        type - type of handler
      • getFileName

        public String getFileName()
        currently open PDF file name
        Specified by:
        getFileName in interface org.jpedal.PdfDecoderInt
        Returns:
        String
      • isForm

        public boolean isForm()
        return true if currently open PDF file is a PDF form
        Specified by:
        isForm in interface org.jpedal.PdfDecoderInt
        Returns:
        boolean
      • getTextLines

        public org.jpedal.text.TextLines getTextLines()
        access textlines object
        Specified by:
        getTextLines in interface org.jpedal.PdfDecoderInt
      • getPDFWidth

        public final int getPDFWidth()
        get sizes of panel
        This is the PDF pagesize (as set in the PDF from pagesize) - It now includes any scaling factor you have set
        Specified by:
        getPDFWidth in interface org.jpedal.PdfDecoderInt
      • getPDFHeight

        public final int getPDFHeight()
        get sizes of panel - This is the PDF pagesize
        Specified by:
        getPDFHeight in interface org.jpedal.PdfDecoderInt
      • getDisplayView

        public int getDisplayView()
        returns view mode used - ie SINGLE_PAGE,CONTINUOUS,FACING,CONTINUOUS_FACING (no effect in OS versions)
        Specified by:
        getDisplayView in interface org.jpedal.PdfDecoderInt
      • getScaling

        public float getScaling()
        returns current scaling value used internally
        Specified by:
        getScaling in interface org.jpedal.PdfDecoderInt
        Returns:
        float
      • getInsetH

        public int getInsetH()
        Description copied from interface: org.jpedal.PdfDecoderInt
        Return amount to inset the page rectangle height by
        Specified by:
        getInsetH in interface org.jpedal.PdfDecoderInt
        Returns:
        int
      • getInsetW

        public int getInsetW()
        Description copied from interface: org.jpedal.PdfDecoderInt
        Return amount to inset the page rectangle width by
        Specified by:
        getInsetW in interface org.jpedal.PdfDecoderInt
        Returns:
        int
      • getSelectedRectangleOnscreen

        public BufferedImage getSelectedRectangleOnscreen​(float t_x1,
                                                          float t_y1,
                                                          float t_x2,
                                                          float t_y2,
                                                          float scaling)
        Specified by:
        getSelectedRectangleOnscreen in interface org.jpedal.PdfDecoderInt
      • getScrollInterval

        public int getScrollInterval()
        Description copied from interface: org.jpedal.PdfDecoderInt
        Return amount to scroll window by when scrolling (default is 10).
        Specified by:
        getScrollInterval in interface org.jpedal.PdfDecoderInt
        Returns:
        int
      • setScrollInterval

        public void setScrollInterval​(int scrollInterval)
        Description copied from interface: org.jpedal.PdfDecoderInt
        Sets the ammount to scroll the window by (default is 10).
        Specified by:
        setScrollInterval in interface org.jpedal.PdfDecoderInt
        Parameters:
        scrollInterval - scroll interval
      • resetForNonPDFPage

        public void resetForNonPDFPage​(int pageCount)
        Description copied from interface: org.jpedal.PdfDecoderInt
        used for non-PDF files to reset page
        Specified by:
        resetForNonPDFPage in interface org.jpedal.PdfDecoderInt
      • setPDFBorder

        public void setPDFBorder​(Border newBorder)
        Specified by:
        setPDFBorder in interface org.jpedal.PdfDecoderInt
      • updateCursorBoxOnScreen

        public void updateCursorBoxOnScreen​(int[] rectParams,
                                            int outlineColor)
        Specified by:
        updateCursorBoxOnScreen in interface org.jpedal.PdfDecoderInt
      • setHardwareAccelerationforScreen

        public void setHardwareAccelerationforScreen​(boolean useAcceleration)
        Specified by:
        setHardwareAccelerationforScreen in interface org.jpedal.PdfDecoderInt
      • getExternalHandler

        public org.jpedal.external.ExternalHandlers getExternalHandler()
        Specified by:
        getExternalHandler in interface org.jpedal.PdfDecoderInt
      • getSpecialMode

        public int getSpecialMode()
        retusn a value defined in SpecialOptions used internally and in custom JPedal releases in PdfDecoder - always returns 0 in this class
        Specified by:
        getSpecialMode in interface org.jpedal.PdfDecoderInt
        Returns:
        int
      • useNewGraphicsMode

        public boolean useNewGraphicsMode()
        Specified by:
        useNewGraphicsMode in interface org.jpedal.PdfDecoderInt
      • useNewGraphicsMode

        public void useNewGraphicsMode​(boolean isEnabled)
        switches on or off glow border in JPedal viewer - does nothing in this class
        Specified by:
        useNewGraphicsMode in interface org.jpedal.PdfDecoderInt
        Parameters:
        isEnabled -
      • setScaling

        public void setScaling​(float scaleFactor)
        allow user to adjust scaling factor on page in Viewer - DOES NOTHING in this class
        Specified by:
        setScaling in interface org.jpedal.PdfDecoderInt
        Parameters:
        scaleFactor -
      • setStatusBarObject

        public void setStatusBarObject​(org.jpedal.io.StatusBar statusBar)
        Specified by:
        setStatusBarObject in interface org.jpedal.PdfDecoderInt
      • setInset

        public void setInset​(int width,
                             int height)
        Specified by:
        setInset in interface org.jpedal.PdfDecoderInt
      • getMaxSizeWH

        public int[] getMaxSizeWH()
        Specified by:
        getMaxSizeWH in interface org.jpedal.PdfDecoderInt
      • getPaneBounds

        public int[] getPaneBounds()
        Specified by:
        getPaneBounds in interface org.jpedal.PdfDecoderInt
      • repaintPane

        public void repaintPane​(int page)
        Specified by:
        repaintPane in interface org.jpedal.PdfDecoderInt
      • requestFocus

        public void requestFocus()
        Specified by:
        requestFocus in interface org.jpedal.PdfDecoderInt
      • setPreviewThumbnail

        public void setPreviewThumbnail​(BufferedImage previewImage,
                                        String previewText)
        internal method used by Viewer to provide preview of PDF in Viewer
        Specified by:
        setPreviewThumbnail in interface org.jpedal.PdfDecoderInt
      • getTextPrint

        public int getTextPrint()
        Specified by:
        getTextPrint in interface org.jpedal.PdfDecoderInt
      • repaint

        public void repaint()
        Specified by:
        repaint in interface org.jpedal.PdfDecoderInt
      • getVisibleRect

        public Rectangle getVisibleRect()
        Specified by:
        getVisibleRect in interface org.jpedal.PdfDecoderInt
      • getDisplayOffsets

        public org.jpedal.display.DisplayOffsets getDisplayOffsets()
        Specified by:
        getDisplayOffsets in interface org.jpedal.PdfDecoderInt