public List<Image> Get(ImagesRequest request) { Console.WriteLine("Getting images"); var user = (User) Request.Items[RequestItem.User]; return this.session.Query<Image>().Where(u => u.UserId == user.UserId).ToList(); }
public static void Run() { var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey); var apiInstance = new ParseApi(configuration); try { var options = new ImagesOptions() { FileInfo = new FileInfo { FilePath = "slides/three-slides.pptx", StorageName = Common.MyStorage }, StartPageNumber = 1, CountPagesToExtract = 2 }; var request = new ImagesRequest(options); var response = apiInstance.Images(request); foreach (var page in response.Pages) { Console.WriteLine($"Images from {page.PageIndex} page."); foreach (var image in page.Images) { Console.WriteLine($"Image path in storage: {image.Path}. Download url: {image.DownloadUrl}"); Console.WriteLine($"File format: {image.FileFormat}. Page index: {image.PageIndex}"); } } } catch (Exception e) { Console.WriteLine("Exception while calling ParseApi: " + e.Message); } }
/// <summary> /// Extract images from document. /// </summary> /// <param name="request">Request. <see cref="ImagesRequest" /></param> /// <returns><see cref="ImagesResult"/></returns> public ImagesResult Images(ImagesRequest request) { // verify the required parameter 'options' is set if (request.options == null) { throw new ApiException(400, "Missing required parameter 'options' when calling Images"); } // create path and map variables var resourcePath = this.configuration.GetServerUrl() + "/parser/images"; resourcePath = Regex .Replace(resourcePath, "\\*", string.Empty) .Replace("&", "&") .Replace("/?", "?"); var postBody = SerializationHelper.Serialize(request.options); // http body (model) parameter var response = this.apiInvoker.InvokeApi( resourcePath, "POST", postBody, null, null); if (response != null) { return((ImagesResult)SerializationHelper.Deserialize(response, typeof(ImagesResult))); } return(null); }
public void TestGetImage_FileNotFoundResult() { var testFile = TestFiles.NotExist; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), }; var request = new ImagesRequest(options); var ex = Assert.Throws <ApiException>(() => { ParseApi.Images(request); }); Assert.AreEqual($"Can't find file located at '{testFile.FullName}'.", ex.Message); }
public void ImageExtractTest_Pdf_Container_FromPages_Error() { var testFile = TestFiles.Zip; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), StartPageNumber = 1, CountPagesToExtract = 2 }; var request = new ImagesRequest(options); var ex = Assert.Throws <ApiException>(() => { ParseApi.Images(request); }); Assert.AreEqual($"The specified file '{testFile.FullName}' has type which is not currently supported.", ex.Message); }
public void ImageExtractTest_Pdf_FromPages_OutOfThePageRange() { var testFile = TestFiles.Pdf; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), StartPageNumber = 3, CountPagesToExtract = 5 }; var request = new ImagesRequest(options); var ex = Assert.Throws <ApiException>(() => { ParseApi.Images(request); }); Assert.AreEqual("Request parameters missing or have incorrect format", ex.Message); }
public void TestGetImage_IncorrectPassword() { var testFile = TestFiles.PasswordProtected; var options = new ImagesOptions { FileInfo = new FileInfo { FilePath = testFile.FullName, Password = "******" }, }; var request = new ImagesRequest(options); var ex = Assert.Throws <ApiException>(() => { ParseApi.Images(request); }); Assert.AreEqual($"Password provided for file '{testFile.FullName}' is incorrect.", ex.Message); }
public HttpResponseMessage DownloadMultipleFile(ImagesRequest data) { var ids = new List <int>(); List <Image> images = new List <Image>(); foreach (var obj in data) { ids.Add(obj.Id); images.Add(ImageList.GetImage(obj.Id)); } var archive = AppDomain.CurrentDomain.BaseDirectory + "/archive.zip"; var temp = AppDomain.CurrentDomain.BaseDirectory + "/temp"; // clear any existing archive if (System.IO.File.Exists(archive)) { System.IO.File.Delete(archive); } // empty the temp folder //Directory.EnumerateFiles(temp).ToList().ForEach(f => System.IO.File.Delete(f)); using (ZipFile zip = new ZipFile()) { //zip.word = word; foreach (var img in images) { string fullPath = $"{AppDomain.CurrentDomain.BaseDirectory}\\Content\\images\\{img.Id}.jpg"; //System.IO.File.Copy(fullPath, Path.Combine(temp, Path.GetFileName(fullPath))); zip.AddFile(fullPath); } zip.Save(temp + "\\" + "ZipDownload.zip"); var pushStreamContent = new PushStreamContent((stream, content, context) => { zip.Save(stream); stream.Close(); // After save we close the stream to signal that we are done writing. }, "application/zip"); return(new HttpResponseMessage(HttpStatusCode.OK) { Content = pushStreamContent }); } }
public void TestGetImage_Docx() { var testFile = TestFiles.FourPages; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), }; var request = new ImagesRequest(options); var result = ParseApi.Images(request); Assert.IsNotNull(result); int i = 0; foreach (var image in result.Images) { Assert.AreEqual($"parser/images/words/docx/four-pages_docx/image_{i}.jpeg", image.Path); Assert.NotNull(image.DownloadUrl); i++; } }
public void TestGetImage_Pdf_FromPages() { var testFile = TestFiles.Pdf; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), StartPageNumber = 1, CountPagesToExtract = 2 }; var request = new ImagesRequest(options); var result = ParseApi.Images(request); Assert.IsNotNull(result); Assert.IsNotEmpty(result.Pages); Assert.AreEqual(2, result.Pages.Count); Assert.AreEqual("parser/images/pdf/template-document_pdf/page_1/image_0.jpeg", result.Pages[0].Images[0].Path); Assert.AreEqual("parser/images/pdf/template-document_pdf/page_2/image_0.jpeg", result.Pages[1].Images[0].Path); }
public void TestGetImage_Email() { var testFile = TestFiles.ImageAndAttachment; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), }; var request = new ImagesRequest(options); var result = ParseApi.Images(request); Assert.IsNotNull(result); var paths = new[] { "parser/images/email/eml/embedded-image-and-attachment_eml/", }; foreach (var image in result.Images) { Assert.IsTrue(paths.Any(image.Path.Contains)); } }
public static void Run() { var configuration = new Configuration(Common.MyAppSid, Common.MyAppKey); var apiInstance = new ParseApi(configuration); try { var options = new ImagesOptions() { FileInfo = new FileInfo { FilePath = "pdf/PDF with attachements.pdf", Password = "******", StorageName = Common.MyStorage }, ContainerItemInfo = new ContainerItemInfo { RelativePath = "template-document.pdf" }, StartPageNumber = 2, CountPagesToExtract = 1 }; var request = new ImagesRequest(options); var response = apiInstance.Images(request); foreach (var page in response.Pages) { Console.WriteLine($"Images from {page.PageIndex} page."); foreach (var image in page.Images) { Console.WriteLine($"Image path in storage: {image.Path}. Download url: {image.DownloadUrl}"); Console.WriteLine($"File format: {image.FileFormat}. Page index: {image.PageIndex}"); } } } catch (Exception e) { Console.WriteLine("Exception while calling ParseApi: " + e.Message); } }
public void TestGetImage_Container() { var testFile = TestFiles.ZipWithEmailImagePdf; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), }; var request = new ImagesRequest(options); var result = ParseApi.Images(request); Assert.IsNotNull(result); var paths = new[] { "parser/images/containers/archive/zip-eml-jpg-pdf_zip/", "parser/images/containers/archive/zip-eml-jpg-pdf_zip/embedded-image-and-attachment_eml/", "parser/images/containers/archive/zip-eml-jpg-pdf_zip/template-document_pdf/" }; foreach (var image in result.Images) { Assert.IsTrue(paths.Any(image.Path.Contains)); } }
public void ImageExtractTest_Pdf_ContainerItem_FromPages() { var testFile = TestFiles.PdfContainer; var options = new ImagesOptions { FileInfo = testFile.ToFileInfo(), StartPageNumber = 1, CountPagesToExtract = 2, ContainerItemInfo = new ContainerItemInfo { RelativePath = "template-document.pdf" } }; var request = new ImagesRequest(options); var result = ParseApi.Images(request); Assert.IsNotNull(result); Assert.IsNotEmpty(result.Pages); Assert.AreEqual(2, result.Pages.Count); Assert.AreEqual("parser/images/template-document_pdf/page_1/image_0.jpeg", result.Pages[0].Images[0].Path); Assert.AreEqual("parser/images/template-document_pdf/page_2/image_0.jpeg", result.Pages[1].Images[0].Path); }