How to use the PDF viewer control in ASP.NET Web Forms (Classic)?
We do not have support for the PDF viewer control in the ASP.NET(Classic). However, as a workaround we can use the ejPdfViewer control as in the below code snippet.
Default.html
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js" type="text/javascript"></script> <link href="http://cdn.syncfusion.com/13.4.0.53/js/web/flat-azure/ej.web.all.min.css" rel="stylesheet" /> <script type="text/javascript" src="http://cdn.syncfusion.com/13.4.0.53/js/web/ej.web.all.min.js "></script> </head> <body> <div> <!-- Creating a div tag which will act as a container for ejPdfViewer widget.--> <div id="viewer" style="height: 650px;width: 950px;min-height:404px;" ></div> <!-- initializing ejPdfViewer widget.--> <script type="text/javascript"> $(function () { $("#viewer").ejPdfViewer({ serviceUrl: "/api/PdfViewerAPI" }); }); </script> </div> </body> </html>
PdfViewerAPIController.cs
public class PdfViewerAPIController : ApiController { public object PostViewerAction(Dictionary<string, string> jsonResult) { PdfViewerHelper helper = new PdfViewerHelper(); helper.Load(Helper.GetFilePath("Barcode.pdf"));
object output = helper.ProcessPdf(jsonResult); string response = JsonConvert.SerializeObject(output); return response; } }
public class Helper { public static string GetFilePath(string path) { string _dataPath = GetCommonFolder(new DirectoryInfo(HttpContext.Current.Request.PhysicalApplicationPath)); _dataPath += @"\" + path; return _dataPath; }
static string GetCommonFolder(DirectoryInfo dtInfo) { var _folderNames = dtInfo.GetDirectories("Data"); if (_folderNames.Length > 0) { return _folderNames[0].FullName; }
return dtInfo.Parent != null ? GetCommonFolder(dtInfo.Parent) : string.Empty; } } |
Sample: