///<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,
            });
        }
コード例 #2
0
        public Response Splitter(string outputType, string splitType, string pars)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string    _sourceFolder = Guid.NewGuid().ToString();
                var       docs          = UploadFiles(Request, _sourceFolder);
                SplitType _splitType;
                Enum.TryParse((int.Parse(splitType) - 1).ToString(), out _splitType);
                if (docs.Count > 0)
                {
                    SplitterRequestModel splitterRequestModel = new SplitterRequestModel();
                    splitterRequestModel.id        = docs[0].FolderName;
                    splitterRequestModel.FileName  = docs[0].FileName;
                    splitterRequestModel.Format    = outputType.Trim();
                    splitterRequestModel.SplitType = _splitType;

                    if (_splitType == SplitType.Range)
                    {
                        splitterRequestModel.SplitRange = pars;
                    }
                    else if (_splitType == SplitType.Number)
                    {
                        splitterRequestModel.SplitNumber = int.Parse(pars);
                    }

                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.Splitter(splitterRequestModel, default(System.Threading.CancellationToken));

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }
コード例 #3
0
        private void ShowDownloadPage(FileSafeResult response)
        {
            var url         = response.DownloadURL();
            var callbackURL = HttpContext.Current.Request.Url.AbsolutePath;

            //var viewerURL = response.ViewerURL(Product, callbackURL);
            DownloadButton.NavigateUrl = url;
            // DownloadUrlInputHidden.Value = HttpUtility.UrlEncode(url);
            //ViewerLink.NavigateUrl = viewerURL;
            UploadFilePlaceHolder.Visible = false;
            TextPlaceHolder.Visible       = false;
            ImagePlaceHolder.Visible      = false;
            DownloadPlaceHolder.Visible   = true;
        }
コード例 #4
0
        public Response Redaction(string outputType, string searchQuery, string replaceText, bool caseSensitive, bool text, bool comments, bool metadata)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    AsposeSlides asposeSlides = new AsposeSlides();

                    RedactionOptionsModel redactionOptionsModel = new RedactionOptionsModel();
                    redactionOptionsModel.id                    = docs[0].FolderName;
                    redactionOptionsModel.FileName              = docs[0].FileName;
                    redactionOptionsModel.ReplaceText           = replaceText;
                    redactionOptionsModel.SearchQuery           = searchQuery;
                    redactionOptionsModel.IsCaseSensitiveSearch = caseSensitive;
                    redactionOptionsModel.MustReplaceText       = text;
                    redactionOptionsModel.MustReplaceComments   = comments;
                    redactionOptionsModel.MustReplaceMetadata   = metadata;

                    FileSafeResult FileSafeResult = asposeSlides.Redaction(redactionOptionsModel);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }
コード例 #5
0
        public Response Merger(string outputType)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    List <string> _mainFiles = new List <string>();
                    foreach (InputFile inputFile in docs)
                    {
                        _mainFiles.Add(inputFile.FileName);
                    }
                    MergerOptions mergerOptions = new MergerOptions();
                    mergerOptions.idMain    = docs[0].FolderName;
                    mergerOptions.MainFiles = _mainFiles.ToArray();
                    mergerOptions.Format    = outputType.Trim();

                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.Merger(mergerOptions);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }
コード例 #6
0
        public Response Lock(string passw, string viewpassw, string makefinal)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    ProtectOptions protectOptions = new ProtectOptions();
                    protectOptions.id             = docs[0].FolderName;
                    protectOptions.FileName       = docs[0].FileName;
                    protectOptions.MarkAsFinal    = bool.Parse(makefinal);
                    protectOptions.MarkAsReadonly = false;
                    protectOptions.PasswordEdit   = passw;
                    protectOptions.PasswordView   = viewpassw;

                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.Lock(protectOptions);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }
コード例 #7
0
        /// <summary>
        /// Zips output folder and returns FileSafeResult object pointed to zip file.
        /// Cleanups OutFolder and SourceFolder.
        /// </summary>
        /// <returns>FileSafeResult.</returns>
        public FileSafeResult GetResultZipped()
        {
            idZip   = $"{Guid.NewGuid()}";
            FileZip = $"{Path.GetFileNameWithoutExtension(File)}.zip";

            Directory.CreateDirectory(ZipFolder);
            System.IO.Compression.ZipFile.CreateFromDirectory(OutFolder, ZipFile);
            Directory.Delete(OutFolder, true);
            Directory.Delete(SourceFolder, true);
            var result = new FileSafeResult(ZipFile)
            {
                id       = idZip,
                FileName = FileZip
            };

            return(result);
        }
コード例 #8
0
        public Response Unlock(string passw)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    UnProtectOptions unProtectOptions = new UnProtectOptions();
                    unProtectOptions.id       = docs[0].FolderName;
                    unProtectOptions.FileName = docs[0].FileName;
                    unProtectOptions.Password = passw;

                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.Unlock(unProtectOptions);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }
コード例 #9
0
        public Response Search(string query)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    SearchRequestModel searchRequestModel = new SearchRequestModel();
                    searchRequestModel.id       = docs[0].FolderName;
                    searchRequestModel.FileName = docs[0].FileName;
                    searchRequestModel.Query    = query;

                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.Search(searchRequestModel);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "No Search Result Found",
                            FileProcessingErrorCode = FileProcessingErrorCode.NoSearchResults
                        });
                    }
                }
            }

            return(response);
        }
コード例 #10
0
        public Response Conversion(string outputType)
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    ConversionOptions conversionOptions = new ConversionOptions();
                    conversionOptions.id       = docs[0].FolderName;
                    conversionOptions.FileName = docs[0].FileName;
                    conversionOptions.Format   = outputType.Trim();

                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.Conversion(conversionOptions);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }
コード例 #11
0
        public Response Remove()
        {
            Response response = null;

            if (Request.Files.Count > 0)
            {
                string _sourceFolder = Guid.NewGuid().ToString();
                var    docs          = UploadFiles(Request, _sourceFolder);

                if (docs.Count > 0)
                {
                    AsposeSlides   asposeSlides   = new AsposeSlides();
                    FileSafeResult FileSafeResult = asposeSlides.RemoveAnnotations(docs[0].FolderName, docs[0].FileName);

                    if (FileSafeResult.IsSuccess)
                    {
                        return(new Response
                        {
                            FileName = FileSafeResult.FileName,
                            FolderName = FileSafeResult.id,
                            StatusCode = 200,
                            Text = "OK",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                    else
                    {
                        return(new Response
                        {
                            StatusCode = 500,
                            Text = "Failed",
                            FileProcessingErrorCode = FileProcessingErrorCode.OK
                        });
                    }
                }
            }

            return(response);
        }