En Linux, consulte la ayuda para desarrolladores de la distribución de Linux para obtener la lista completa. Una limitación importante es que los objetos que implementan IEngineLoader no están disponibles en Linux ni en macOS (consulte Diferencias entre ABBYY FineReader Engine 12 para Windows y Linux).
Añadir la biblioteca FineReader Engine a un proyecto Java
ABBYY FineReader Engine incluye un archivo com.abbyy.FREngine-%BUILD_ID%.jar, que contiene la biblioteca de clases Java de FineReader Engine. Puede encontrarlo en la carpeta Inc/Java. La ruta de este archivo puede especificarse en el parámetro classpath de la línea de comandos y en la configuración del proyecto de distintos entornos de desarrollo de Java. Ejemplo:Carga y descarga de FineReader Engine
Puede usar la clase estática Engine para cargar el objeto Engine. La clase Engine proporciona métodos que corresponden a las funciones de ABBYY FineReader Engine para cargar y descargar Engine:Código de ejemplo
Código de ejemplo
El archivo com.abbyy.FREngine-%BUILD_ID%.jar es un archivo autoextraíble que se extrae en su equipo la primera vez que usa la API de Java de FineReader Engine. La carpeta predeterminada en la que se extrae el contenido es Inc/Java . Si necesita usar otra carpeta, llame al método Engine.SetJNIDllFolder antes de cargar Engine mediante cualquiera de los métodos descritos anteriormente. Para saber qué carpeta está configurada actualmente para extraer el archivo, llame a Engine.GetJNIDllFolder .
Manejo de errores
ABBYY FineReader Engine puede generar excepciones de los siguientes tipos:- java.lang.OutOfMemoryError
- com.abbyy.FREngine.EngineException
Llamada a métodos con parámetros de salida
Hay varios métodos en la API de ABBYY FineReader Engine que tienen parámetros de salida que reciben un nuevo valor después de llamar al método y deben pasarse por referencia. Estos parámetros se marcan en la biblioteca de tipos y en las descripciones de los métodos de esta ayuda para desarrolladores como [out] o [in, out]. Al trabajar con ABBYY FineReader Engine en Java, debe utilizar una clase Ref especial para pasar un parámetro por referencia. Consulte los ejemplos a continuación. Ejemplo en el que los parámetros de salida se pasan por referencia al método IFRPage::FindPageSplitPosition:Código de ejemplo para parámetros de salida
Código de ejemplo para parámetros de salida
Código de ejemplo para parámetros de entrada/salida
Código de ejemplo para parámetros de entrada/salida
Recolección de basura
FineReader Engine admite el uso de la interfaz AutoCloseable, lo que le permite usar la instrucción try para acceder a los recursos asignados a los objetos. Esto significa que, una vez que el bloque try finaliza, todos los recursos asignados se cerrarán automáticamente, sin necesidad de llamar explícitamente a métodos de cierre. Recomendamos usar la instrucción try con todos los objetos en su código (consulte el ejemplo a continuación):Código de ejemplo
Código de ejemplo
Trabajar con enumeraciones
Los métodos y las propiedades que aceptan una combinación de constantes de enumeración requieren que se pase el valorint al método o la propiedad. Para obtener el valor int de una constante de enumeración, use el método getValue, compatible con todas las enumeraciones.
A continuación se muestra un ejemplo de código que ilustra cómo establecer la propiedad BwPictureFormats del objeto PDFPictureCompressionParams:
