Ir al contenido
Otras versiones

Cargando…

Crear su propio Document Converter

Puede crear su propio Document Converter.

Condiciones:

  • La nueva clase Document Converter debe implementar la interfaz “Converter”.
  • La nueva clase Document Converter debe declararse en 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 de 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

Method Type Description
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 tipos MIME de documento válidos que pueden convertirse.
getConversionType() int Devuelve el valor del tipo MIME al que se convertirá el documento de entrada.
Los valores permitidos son:
- Converter.TO_PDF
- Converter.TO_IMAGE
Cuando elige Converter.TO_IMAGE, se espera que devuelva una imagen en formato PNG.

Ejemplo de implementación del Document Converter

Sección titulada «Ejemplo de implementación del Document Converter»
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;
}
}