11package com .groupdocs .ui .conversion ;
22
33import com .google .common .collect .Ordering ;
4- import com .groupdocs .conversion .License ;
5- import com .groupdocs .conversion .config . ConversionConfig ;
6- import com .groupdocs .conversion .handler . ConversionHandler ;
7- import com .groupdocs .conversion .handler . ConvertedDocument ;
8- import com .groupdocs .conversion .options .save .* ;
4+ import com .groupdocs .conversion .Converter ;
5+ import com .groupdocs .conversion .contracts . documentinfo . IDocumentInfo ;
6+ import com .groupdocs .conversion .licensing . License ;
7+ import com .groupdocs .conversion .options . convert . ConvertOptions ;
8+ import com .groupdocs .conversion .options .convert . ImageConvertOptions ;
99import com .groupdocs .ui .config .DefaultDirectories ;
1010import com .groupdocs .ui .config .GlobalConfiguration ;
11- import com .groupdocs .ui .model .request .ConversionPostedData ;
12- import com .groupdocs .ui .model .response .ConversionTypesEntity ;
1311import com .groupdocs .ui .exception .TotalGroupDocsException ;
12+ import com .groupdocs .ui .model .request .ConversionPostedData ;
1413import com .groupdocs .ui .model .request .FileTreeRequest ;
14+ import com .groupdocs .ui .model .response .ConversionTypesEntity ;
1515import org .apache .commons .io .FilenameUtils ;
1616import org .slf4j .Logger ;
1717import org .slf4j .LoggerFactory ;
2828import java .io .FileOutputStream ;
2929import java .io .IOException ;
3030import java .nio .file .Files ;
31- import java .util .* ;
32- import java .util .function . Function ;
33- import java .util .stream . Collectors ;
31+ import java .util .ArrayList ;
32+ import java .util .Arrays ;
33+ import java .util .List ;
3434import java .util .zip .ZipEntry ;
3535import java .util .zip .ZipOutputStream ;
3636
@@ -44,8 +44,6 @@ public class ConversionServiceImpl implements ConversionService {
4444 @ Autowired
4545 private GlobalConfiguration globalConfiguration ;
4646
47- private ConversionHandler handler ;
48-
4947 private List <String > supportedImageFormats = Arrays .asList ( "jp2" , "ico" , "psd" , "svg" , "bmp" , "jpeg" , "jpg" , "tiff" , "tif" , "png" , "gif" , "emf" , "wmf" , "dwg" , "dicom" , "dxf" , "jpe" , "jfif" );
5048
5149 /**
@@ -61,11 +59,6 @@ public void init() {
6159 try {
6260 License license = new License ();
6361 license .setLicense (globalConfiguration .getApplication ().getLicensePath ());
64- ConversionConfig conversionConfig = new ConversionConfig ();
65- conversionConfig .setStoragePath (filesDirectory );
66- conversionConfig .setOutputPath (resultDirectory );
67-
68- handler = new ConversionHandler (conversionConfig );
6962 } catch (Throwable exc ) {
7063 logger .error ("Can not verify Conversion license!" );
7164 }
@@ -160,17 +153,17 @@ public void convert(ConversionPostedData postedData) {
160153 String destinationFile = FilenameUtils .removeExtension (FilenameUtils .getName (postedData .getGuid ())) + "." + destinationType ;
161154 String resultFileName = FilenameUtils .concat (conversionConfiguration .getResultDirectory (),destinationFile );
162155
163- Dictionary < String , SaveOptions > availableSaveOptions = handler . getSaveOptions ( sourceType );
164- SaveOptions saveOptions = availableSaveOptions . get ( destinationType );
165- ConvertedDocument convertedDocument = handler . convert ( postedData . getGuid (), saveOptions );
166-
167- if ( convertedDocument . getPageCount () > 1 && saveOptions instanceof ImageSaveOptions ) {
168- for ( int i = 1 ; i <= convertedDocument . getPageCount (); i ++){
169- String fileName = FilenameUtils . removeExtension ( resultFileName ) + "-page" + i + "." + destinationType ;
170- convertedDocument . save ( fileName , i );
156+ Converter converter = new Converter ( FilenameUtils . concat ( conversionConfiguration . getFilesDirectory (), postedData . getGuid ()) );
157+ ConvertOptions convertOptions = converter . getPossibleConversions (). getTargetConversion ( destinationType ). getConvertOptions ( );
158+ if ( convertOptions instanceof ImageConvertOptions ) {
159+ IDocumentInfo documentInfo = converter . getDocumentInfo ();
160+ for ( int i = 0 ; i < documentInfo . getPagesCount (); i ++) {
161+ (( ImageConvertOptions ) convertOptions ). setPageNumber ( i + 1 );
162+ (( ImageConvertOptions ) convertOptions ). setPagesCount ( 1 ) ;
163+ converter . convert ( FilenameUtils . removeExtension ( resultFileName ) + "-page" + i + "." + destinationType , convertOptions );
171164 }
172- }else {
173- convertedDocument . save (resultFileName );
165+ } else {
166+ converter . convert (resultFileName , convertOptions );
174167 }
175168 }
176169
0 commit comments