Ir al contenido
Otras versiones

Cargando…

Crear su propio conversor de documentos

Puede crear su propio conversor de documentos.

Condiciones:

  • La nueva clase de conversor de documentos debe implementar la interfaz “Converter”.
  • La nueva clase de conversor de documentos debe declararse en el paquete “com.openkm.plugin.conversion”.
  • La nueva clase de conversor de documentos debe estar anotada con “@PluginImplementation”.
  • La nueva clase de conversor de documentos debe extender BasePlugin.

Interfaz del conversor de documentos:

package com.openkm.plugin.conversion;
import com.openkm.core.ConversionException;
import net.xeoh.plugins.base.Plugin;
import java.io.File;
import java.io.IOException;
import java.util.List;
public interface Converter extends Plugin {
int TO_PDF = 0;
int TO_IMAGE = 1;
void makeConversion(File input, String mimeType, File output) throws IOException, ConversionException;
List<String> getSourceMimeTypes();
int getConversionType();
}

La nueva clase debe cargarse en el paquete com.openkm.plugin.conversion porque el sistema de plugins de la aplicación intentará cargarla desde ahí.

Descripción de los métodos

Método Tipo Descripción
makeConversion(File input, String mimeType, File output) void El método convierte el fichero de entrada a un formato específico y lo escribe en el fichero de salida.
getSourceMimeTypes() List Devuelve una lista de los tipos MIME de documento válidos que se permite convertir.
getConversionType() int Devuelve el valor del tipo de conversión que se utilizará para el documento de entrada.
Los valores permitidos son:
- Converter.TO_PDF
- Converter.TO_IMAGE
Cuando se elige Converter.TO_IMAGE, se espera que se devuelva una imagen en formato PNG.

Ejemplo de implementación de un conversor de documentos

Sección titulada «Ejemplo de implementación de un conversor de documentos»
package com.openkm.plugin.conversion;
import com.openkm.core.ConversionException;
import com.openkm.core.MimeTypeConfig;
import com.openkm.plugin.BasePlugin;
import com.openkm.util.DocConverter;
import net.xeoh.plugins.base.annotations.PluginImplementation;
import org.springframework.beans.factory.annotation.Autowired;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
@PluginImplementation
public class SqlToPdfConversion extends BasePlugin implements Converter {
String[] sourceMimeTypes = new String[]{MimeTypeConfig.MIME_SQL};
@Autowired
private DocConverter docConverter;
@Override
public void makeConversion(File input, String mimeType, File output) throws IOException, ConversionException {
docConverter.src2pdf(input, output, "sql");
}
@Override
public List<String> getSourceMimeTypes() {
return Arrays.asList(sourceMimeTypes);
}
@Override
public int getConversionType() {
return Converter.TO_PDF;
}
}