/// <summary> /// Search for specified string using regular expressions inside file with specified upload id and file name, replaces string with replacement text, saves resulted file to out file. /// Returns details about resulted file. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Redaction([FromBody] RedactionOptionsModel model) { var pathProcessor = new PathProcessor(model.id, model.FileName, true); SlidesService slidesService = new SlidesService(); var foundLines = slidesService.Redaction( pathProcessor.DefaultSourceFile, pathProcessor.DefaultOutFile, model ); if (foundLines == null) { return new FileSafeResult { IsSuccess = false, idError = "InvalidReg" } } ; if (foundLines.Length < 1) { return new FileSafeResult { IsSuccess = false, idError = "NotFound" } } ; return(pathProcessor.GetResult()); }
/// <summary> /// Search for specified string using regular expressions inside file with specified upload id and file name, saves found lines into file. /// Returns details about resulted file. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Search([FromBody] SearchRequestModel model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.id, file: model.FileName, checkDefaultSourceFileExistence: true); var foundLines = slidesService.Search( pathProcessor.DefaultSourceFile, model.Query ); if (foundLines == null) { return new FileSafeResult { IsSuccess = false, idError = "InvalidReg" } } ; if (foundLines.Length < 1) { return new FileSafeResult { IsSuccess = false, idError = "NotFound" } } ; var foundLinesFile = pathProcessor.GetOutFilePath("foundLines.txt"); System.IO.File.WriteAllLines(foundLinesFile, foundLines); return(pathProcessor.GetResult("foundLines.txt")); }
///<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> /// Removes watermark from file with specified upload id and file name. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult RemoveWatermark([FromBody] BaseRequestModel model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.id, model.FileName, true); slidesService.RemoveWatermark( pathProcessor.DefaultSourceFile, pathProcessor.DefaultOutFile ); return(pathProcessor.GetResult()); }
/// <summary> /// Adds text watermark into file with specified upload id and file name. /// </summary> /// <param name="model">Watermark options.</param> /// <returns>Resulted file details.</returns> public FileSafeResult AddTextWatermark([FromBody] TextWatermarkOptionsModel model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.id, model.FileName, true); slidesService.AddTextWatermark( pathProcessor.DefaultSourceFile, pathProcessor.DefaultOutFile, model ); return(pathProcessor.GetResult()); }
/// <summary> /// Applies protection to file with specified upload id and file name. /// Method adds view/edit protection with specified password and applies read-only/final flag. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Lock([FromBody] ProtectOptions model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.id, model.FileName, true); slidesService.LockFile( sourceFile: pathProcessor.DefaultSourceFile, outFile: pathProcessor.DefaultOutFile, markAsReadonly: model.MarkAsReadonly, markAsFinal: model.MarkAsFinal, passwordEdit: model.PasswordEdit, passwordView: model.PasswordView ); return(pathProcessor.GetResult()); }
/// <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))); } }
/// <summary> /// Merge source documents files with specified upload id into one file. /// Returns details about resulted file. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Merger([FromBody] MergerOptions model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.idMain, null, false); PathProcessor pathProcessorStyleMaster = null; if (model.idStyleMaster != null && model.FileNameStyleMaster != null) { pathProcessorStyleMaster = new PathProcessor(model.idStyleMaster, model.FileNameStyleMaster, true); } var result = slidesService.Merger( pathProcessor.OutFolder, string.IsNullOrEmpty(model.Format) ? SlidesConversionFormat.pptx : model.Format.ParseEnum <SlidesConversionFormat>(), pathProcessorStyleMaster?.DefaultSourceFile, model.MainFiles.Select(fileName => Path.Combine(pathProcessor.SourceFolder, fileName)).ToArray() ); return(pathProcessor.GetResult(Path.GetFileName(result))); }
/// <summary> /// Removes password protection from file with specified upload id and file name. /// Method tries to remove readonly and view protection with specified password. /// </summary> /// <param name="model">Request model.</param> /// <returns>Resulted file details.</returns> public FileSafeResult Unlock([FromBody] UnProtectOptions model) { SlidesService slidesService = new SlidesService(); var pathProcessor = new PathProcessor(model.id, model.FileName, true); try { slidesService.UnlockFile( pathProcessor.DefaultSourceFile, pathProcessor.DefaultOutFile, model.Password ); return(pathProcessor.GetResult()); } catch (InvalidPasswordException) { return(new FileSafeResult { IsSuccess = false, idError = "InvalidPassword" }); } }