Package com.logicaldoc.core.conversion
Class FormatConverterManager
- java.lang.Object
-
- com.logicaldoc.core.conversion.FormatConverterManager
-
public class FormatConverterManager extends Object
Manager class used to handle format converters. For each couple inFormat-outFormat you may have different possible converters, they are taken by the FormatConverter extension point. The actual converter uses is the one pointed by the context property names converter.inExt-outExt.- Since:
- 7.1.3
- Author:
- Marco Meschieri - LogicalDOC
-
-
Field Summary
Fields Modifier and Type Field Description static StringPDF_CONVERSION_SUFFIX
-
Constructor Summary
Constructors Constructor Description FormatConverterManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Documentconvert(Document document, String fileVersion, String format, DocumentHistory transaction)Converts a document into another format and saves the resulting file in the same foldervoidconvertFile(File in, String inFilename, File out, String outFormat, String sid)Converts a file into a different formatvoidconvertToFile(Document document, String fileVersion, File out, DocumentHistory transaction)Converts a document and writes the content of the conversion into a file.voidconvertToPdf(Document document, String sid)Shortcut for convertToPdf(document, null, transaction)voidconvertToPdf(Document document, String fileVersion, String sid)Creates the pdf for the specified document and file version (suffix PDF_CONVERSION_SUFFIX).Collection<FormatConverter>getAllConverters()Returns the list of possible convertersList<String>getAllOutputFormats(String inFileName)Returns all the possible output formats for the given input formatList<FormatConverter>getAvailableConverters(String inFileName, String outFileName)Returns the list of possible converters for a given in and out formatList<String>getAvailableInputFormats()Returns all the possible input formatsFormatConvertergetConverter(String inFileName, String outFileName)Loads the proper converter for the passed file names.Map<String,List<FormatConverter>>getConverters()List<String>getEnabledOutputFormats(String srcFilename)Returns the available output formats for the given input formatbyte[]getPdfContent(Document document, String fileVersion, String sid)Retrieves the content of the Pdf conversion.voidsetConfig(ContextProperties config)voidsetDocumentManager(DocumentManager documentManager)voidsetStorer(Storer storer)voidsetTenantDao(TenantDAO tenantDao)voidwritePdfToFile(Document document, String fileVersion, File out, String sid)Write the content of the Pdf conversion into a file.
-
-
-
Field Detail
-
PDF_CONVERSION_SUFFIX
public static final String PDF_CONVERSION_SUFFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
getPdfContent
public byte[] getPdfContent(Document document, String fileVersion, String sid) throws IOException
Retrieves the content of the Pdf conversion. If the Pdf conversion is not available in the store, it is created.- Parameters:
document- The document to be processedfileVersion- The file version(optional)sid- (optional)- Returns:
- The content of the PDF as bytes
- Throws:
IOException- If something went wrong
-
writePdfToFile
public void writePdfToFile(Document document, String fileVersion, File out, String sid) throws IOException
Write the content of the Pdf conversion into a file. If the Pdf conversion is not available in the store, it is created.- Parameters:
document- The document to be processedfileVersion- The file version(optional)out- the output filesid- (optional)- Throws:
IOException- If something went wrong
-
convertToPdf
public void convertToPdf(Document document, String fileVersion, String sid) throws IOException
Creates the pdf for the specified document and file version (suffix PDF_CONVERSION_SUFFIX). If the Pdf conversion already exists it, nothing happens.- Parameters:
document- The document to be processedfileVersion- The file version(optional)sid- (optional)- Throws:
IOException- If something went wrong
-
convertToPdf
public void convertToPdf(Document document, String sid) throws IOException
Shortcut for convertToPdf(document, null, transaction)- Parameters:
document- The document to be processedsid- identifier of the session- Throws:
IOException- If something went wrong
-
convert
public Document convert(Document document, String fileVersion, String format, DocumentHistory transaction) throws IOException, PersistenceException
Converts a document into another format and saves the resulting file in the same folder- Parameters:
document- The document to be processedfileVersion- The file version(optional)format- the extension used to define the output formattransaction- details of the current session- Returns:
- the document that represents the conversion
- Throws:
IOException- I/O errorPersistenceException- Error in the database
-
convertToFile
public void convertToFile(Document document, String fileVersion, File out, DocumentHistory transaction) throws IOException
Converts a document and writes the content of the conversion into a file.- Parameters:
document- The document to be processedfileVersion- The file version(optional)out- the target file, the extension of this filename is used to detect the output formattransaction- informations about the session- Throws:
IOException- if an error happens during the conversion
-
convertFile
public void convertFile(File in, String inFilename, File out, String outFormat, String sid) throws IOException
Converts a file into a different format- Parameters:
in- input file (the filename extension determines the source format, in case you do not use inFilename)inFilename- file name of the inputout- output file (if outFormat is null, the filename extension determines the output format)outFormat- extension of the outputsid- session ID (optional)- Throws:
IOException- if an error happens during the conversion
-
getEnabledOutputFormats
public List<String> getEnabledOutputFormats(String srcFilename)
Returns the available output formats for the given input format- Parameters:
srcFilename- name of the file- Returns:
- identifiers of the possible output extensions
-
getAllOutputFormats
public List<String> getAllOutputFormats(String inFileName)
Returns all the possible output formats for the given input format- Parameters:
inFileName- name of the file to convert- Returns:
- list of possible output formats
-
getAvailableInputFormats
public List<String> getAvailableInputFormats()
Returns all the possible input formats- Returns:
- the collection of all available input formats
-
getAvailableConverters
public List<FormatConverter> getAvailableConverters(String inFileName, String outFileName)
Returns the list of possible converters for a given in and out format- Parameters:
inFileName- input file nameoutFileName- conversion file name- Returns:
- the collection of all installed format converters
-
getAllConverters
public Collection<FormatConverter> getAllConverters()
Returns the list of possible converters- Returns:
- the collection of all installed format converters
-
getConverter
public FormatConverter getConverter(String inFileName, String outFileName)
Loads the proper converter for the passed file names. The right converter used is defined in the configuration parameter converter.composeKey()- Parameters:
inFileName- file name of the input contentoutFileName- file name of the conversion- Returns:
- The right format converter
-
getConverters
public Map<String,List<FormatConverter>> getConverters()
-
setStorer
public void setStorer(Storer storer)
-
setTenantDao
public void setTenantDao(TenantDAO tenantDao)
-
setDocumentManager
public void setDocumentManager(DocumentManager documentManager)
-
setConfig
public void setConfig(ContextProperties config)
-
-