public static void Convert(ConversionPostedData postedData, Common.Config.GlobalConfiguration globalConfiguration, List <string> supportedImageFormats) { string destinationType = postedData.GetDestinationType(); string documentGuid = postedData.guid; string filesDirectory = globalConfiguration.GetConversionConfiguration().GetResultDirectory(); string outputFile = Path.Combine(filesDirectory, Path.GetFileNameWithoutExtension(documentGuid) + "." + postedData.GetDestinationType()); string destDocumentType = supportedImageFormats.Contains(Path.GetExtension("." + destinationType)) ? "image" : postedData.GetDestDocumentType(); string fileNameWoExt = Path.GetFileNameWithoutExtension(postedData.guid); using (Converter converter = new Converter(postedData.guid)) { var convertOptions = GetConvertOptions(destDocumentType, destinationType); var documentInfo = converter.GetDocumentInfo(); if (convertOptions is ImageConvertOptions) { string outputFileTemplate = Path.Combine(filesDirectory, fileNameWoExt + "-{0}." + destinationType); if ((documentInfo is SpreadsheetDocumentInfo && ((SpreadsheetDocumentInfo)documentInfo).WorksheetsCount == 1) || documentInfo.PagesCount == 1) { outputFileTemplate = Path.Combine(filesDirectory, fileNameWoExt + "." + destinationType); } SavePageStream getPageStream = page => new FileStream(string.Format(outputFileTemplate, page), FileMode.Create); converter.Convert(getPageStream, convertOptions); } else { converter.Convert(outputFile, convertOptions); } } }
public HttpResponseMessage Convert(ConversionPostedData postedData) { try { ConversionManager.Convert(postedData, GlobalConfiguration, SupportedImageFormats); return(Request.CreateResponse(HttpStatusCode.OK)); } catch (System.Exception ex) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, Resources.GenerateException(ex))); } }