org.faceless.pdf2.viewer2.feature

## Class BackgroundTextExtractor

- java.lang.Object
- - org.faceless.pdf2.viewer2.ViewerFeature
  - - org.faceless.pdf2.viewer2.feature.BackgroundTextExtractor

- All Implemented Interfaces:
    DocumentPanelListener, PDFBackgroundTask

      public class BackgroundTextExtractor
      extends ViewerFeature
      implements DocumentPanelListener, PDFBackgroundTask

  This feature will cause text to be extracted automatically when a PDF is loaded by the viewer. A background thread will be started and run at low priority - early extraction like this means that other features that depend on text extraction (searching, selecting text matching a certain pattern and a "select all" on text - ie `SearchPanel` and `TextTool`) will not have to run the extraction on demand and so should feel noticably faster to the user.

  Note this feature is not enabled by default - it must be explicitly selected

  The name of this feature is BackgroundTextExtractor

  This code is copyright the Big Faceless Organization. You're welcome to use, modify and distribute it in any form in your own projects, provided those projects continue to make use of the Big Faceless PDF library.

  Since:
    2.11.7

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BackgroundTextExtractor()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `documentUpdated(DocumentPanelEvent event)` Called when an `DocumentPanelEvent` is raised
    `void` | `extract(DocumentPanel docpanel)` This method is run by this feature when a new DocumentPanel is loaded.
    `void` | `initialize(PDFViewer viewer)` Called when the feature is first added to a viewer
    `boolean` | `isEnabledByDefault()` Return true if this feature is enabled by default (the default).
    `boolean` | `isPaused()` Return true if the task has been paused with the `PDFBackgroundTask.pause()` method
    `boolean` | `isRunning()` Returns true if the task is still running
    `void` | `pause()` Pause the task until the `PDFBackgroundTask.unpause()` method is called.
    `void` | `startExtraction(DocumentPanel docpanel)` Start a background thread to run the `extract(org.faceless.pdf2.viewer2.DocumentPanel)` method
    `void` | `unpause()` Unpause the task after a call to `PDFBackgroundTask.pause()`

    - ### Methods inherited from class org.faceless.pdf2.viewer2.ViewerFeature

      `getAllEnabledFeatures, getAllFeatures, getCustomJavaScript, getFeatureProperty, getFeatureURLProperty, getName, setFeatureName, teardown, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### BackgroundTextExtractor

          public BackgroundTextExtractor()

  - ### Method Detail

    - #### initialize

          public void initialize(PDFViewer viewer)

      Description copied from class: `ViewerFeature`
      Called when the feature is first added to a viewer
      Overrides:
        `initialize` in class `ViewerFeature`

    - #### isEnabledByDefault

          public boolean isEnabledByDefault()

      Description copied from class: `ViewerFeature`
      Return true if this feature is enabled by default (the default). Disabled features are excluded from the list returned by `ViewerFeature.getAllEnabledFeatures()` and by the `PDFViewerApplet` and `PDFTool`
      Overrides:
        `isEnabledByDefault` in class `ViewerFeature`

    - #### documentUpdated

          public void documentUpdated(DocumentPanelEvent event)

      Description copied from interface: `DocumentPanelListener`
      Called when an `DocumentPanelEvent` is raised
      Specified by:
        `documentUpdated` in interface `DocumentPanelListener`

    - #### isPaused

          public boolean isPaused()

      Description copied from interface: `PDFBackgroundTask`
      Return true if the task has been paused with the `PDFBackgroundTask.pause()` method
      Specified by:
        `isPaused` in interface `PDFBackgroundTask`

    - #### isRunning

          public boolean isRunning()

      Description copied from interface: `PDFBackgroundTask`
      Returns true if the task is still running
      Specified by:
        `isRunning` in interface `PDFBackgroundTask`

    - #### pause

          public void pause()

      Description copied from interface: `PDFBackgroundTask`
      Pause the task until the `PDFBackgroundTask.unpause()` method is called. This method waits until the task has actually paused.
      Specified by:
        `pause` in interface `PDFBackgroundTask`

    - #### unpause

          public void unpause()

      Description copied from interface: `PDFBackgroundTask`
      Unpause the task after a call to `PDFBackgroundTask.pause()`
      Specified by:
        `unpause` in interface `PDFBackgroundTask`

    - #### startExtraction

          public void startExtraction(DocumentPanel docpanel)

      Start a background thread to run the `extract(org.faceless.pdf2.viewer2.DocumentPanel)` method
      Parameters:
        `docpanel` - the DocumentPanel

    - #### extract

          public void extract(DocumentPanel docpanel)

      This method is run by this feature when a new DocumentPanel is loaded. If the feature is not used, it could also be called externally to start background extraction for the specified panel.
      Parameters:
        `docpanel` - the DocumentPanel

Copyright © 2001-2015 Big Faceless Organization