Crear su propio conversor de documentos
Puede crear su propio Document Converter.
Condiciones:
- La nueva clase Document Converter debe implementar la interfaz “Converter”.
- La nueva clase Document Converter debe declararse bajo el paquete “com.openkm.plugin.conversion”.
- La nueva clase Document Converter debe estar anotada con “@PluginImplementation”.
- La nueva clase Document Converter debe extender BasePlugin.
Interfaz Document Converter:
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 archivo de input al formato de archivo especificado en output. |
| getSourceMimeTypes() | List |
Devuelve una lista de MIME TYPES de documento válidos que se pueden convertir. |
| getConversionType() | int | Devuelve el valor del MIME TYPE al que se convertirá el documento de entrada. Los valores permitidos son: - Converter.TO_PDF - Converter.TO_IMAGE Al elegir Converter.TO_IMAGE, devolverá una imagen en formato PNG. |
Ejemplo de implementación del conversor de documentos
Sección titulada «Ejemplo de implementación del 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;
@PluginImplementationpublic 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; }}