///<Summary> /// ConvertFile method ///</Summary> public Response ConvertFile(string fileName, string folderName, string outputType) { var pathProcessor = new PathProcessor(folderName, fileName, fileName != null); var result = Conversion( pathProcessor.DefaultSourceFile, pathProcessor.OutFolder, outputType ); FileSafeResult fileSafeResult = new FileSafeResult(); if (result == null) { fileSafeResult = pathProcessor.GetResultZipped(); } else { fileSafeResult = pathProcessor.GetResult(Path.GetFileName(result)); } return(new Response { FileName = fileSafeResult.FileName, FolderName = fileSafeResult.id, Status = "OK", StatusCode = 200, }); }
/// <summary> /// Parse from file with specified upload id and file name, extract text and media into separate files. /// If file name not specified, parse all files in folder. /// Returns details about resulted zip file. /// </summary> /// <param name="id">Upload id/</param> /// <param name="file">File name.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Parser(string id, string file) { var pathProcessor = new PathProcessor(id, file, file != null); SlidesService slidesService = new SlidesService(); slidesService.Parser( pathProcessor.OutFolder, file != null ? pathProcessor.DefaultSourceFile : pathProcessor.SourceFolder ); return(pathProcessor.GetResultZipped()); }
/// <summary> /// Removes annotations from file with specified upload id and file name, extract annotations into file. /// Returns details about resulted zip file. /// </summary> /// <param name="id">Upload id/</param> /// <param name="file">File name.</param> /// <returns>Resulted file details.</returns> public FileSafeResult RemoveAnnotations(string id, string file) { var pathProcessor = new PathProcessor(id, file: file, checkDefaultSourceFileExistence: true); var annotationsFile = pathProcessor.GetOutFilePath("comments.txt"); SlidesService slidesService = new SlidesService(); var commentaries = slidesService.RemoveAnnotations( pathProcessor.DefaultSourceFile, pathProcessor.DefaultOutFile ); //System.IO.File.WriteAllLines(annotationsFile, commentaries ); return(pathProcessor.GetResultZipped()); }
/// <summary> /// Splits presentation to parts and saves each part to the specified format. /// </summary> /// <param name="model">The request model</param> /// <returns>The resulting file archive.</returns> public FileSafeResult Splitter([FromBody] SplitterRequestModel model, CancellationToken cancellationToken = default(CancellationToken) ) { var pathProcessor = new PathProcessor(model.id, model.FileName, true); SlidesService slidesService = new SlidesService(); slidesService.Split(pathProcessor.DefaultSourceFile, Path.GetDirectoryName(pathProcessor.DefaultOutFile), model.Format.ParseEnum <SlidesConversionFormat>(), model.SplitType, model.SplitNumber, model.SplitRange, cancellationToken); return(pathProcessor.GetResultZipped()); }
/// <summary> /// Converts source file with specified upload id and file name into target format. /// Returns details about resulted file. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Conversion([FromBody] ConversionOptions model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.id, model.FileName, model.FileName != null); var result = slidesService.ConvertFile( pathProcessor.DefaultSourceFile, pathProcessor.OutFolder, model.Format.ParseEnum <SlidesConversionFormat>() ); if (result == null) { return(pathProcessor.GetResultZipped()); } else { return(pathProcessor.GetResult(Path.GetFileName(result))); } }