/// <summary> /// Copies file from converting service to local folder and deletes it. /// </summary> /// <param name="fileName">Name of converted file.</param> private void GetFileFromConvertingService(string fileName) { ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3; UriBuilder uriBuilder = new UriBuilder() { Scheme = "https", #if DEBUG Host = "localhost", Port = 44379, #else Host = "adobesdk.azurewebsites.net", Port = 443, #endif Path = "pdf/file", Query = "fileName=" + fileName + "&delete=true" }; string request = uriBuilder.ToString(); HttpWebRequest req = WebRequest.CreateHttp(request); req.Timeout = 30000; req.ContentType = "application/pdf"; req.Method = "GET"; using (WebResponse res = req.GetResponse()) { using (Stream dataStream = res.GetResponseStream()) { string pdfFilePath = _pdfController.GetContentPath(fileName); CopyStreamToFile(dataStream, pdfFilePath); } } }
public string GetUrlToPdf(string url) { HtmlCleanerInjector injector = new HtmlCleanerInjector(new BaseInjectorConfig(), new WebCleanerConfigSerializer(_pdfController.Server)); // Creating cleaner instance based on URL. IHtmlCleaner processChain = injector.CreateHtmlCleaner(url); // Performs request. string s = HtmlCleanerApp.MakeRequest(url); _ = processChain.Process(s); ITagFormatter formatter = processChain.GetFormatter(); // Finishes processing. formatter.CloseDocument(); using (MemoryStream dataStream = formatter.GetOutputStream()) { string pdfFileName = _pdfController.UrlToFileName(url); string pdfFilePath = _pdfController.GetContentPath(pdfFileName); if (dataStream != null) { using (FileStream fileStream = System.IO.File.Create(pdfFilePath)) { dataStream.Seek(0, SeekOrigin.Begin); dataStream.CopyTo(fileStream); } } return(_pdfController.GetContentUri(pdfFileName)); } }