public HttpResponseMessage CreatePDF() { PdfManager _htmlToPdf = new PdfManager(); /* * Örnek HTML şablonumuza erişiyoruz. * Gerçek hayatta veritabanından erişilir. */ string temp = System.IO.File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "PDF_Template.html"); // Örnek sipariş oluşturan metodumuzu çağırıyoruz. var order = GetOrder(); //Handlebars'tan faydalanarak modelimiz ile template'imizi eşitliyoruz. (Öncesinde bir kaç format ayarı yapıyoruz.) var html = _htmlToPdf.CombineModelToHtml(temp, order); //Ve pdf'imizi oluşturuyoruz. byte[] pdf = _htmlToPdf.HtmlToPdf(html); /* * Bu kısmı sonucu görebilmek adına ekledim. * Gerçek hatta örneğin Azure Storage'a yüklenip linki istenebilir * ya da herhangi bir yere kaydedip DB'ye yolunun yazılması istenebilir. */ #region PDF'ile alakası olmayan kısım. HttpResponseMessage result = null; result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new ByteArrayContent(pdf); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentDisposition.FileName = "Invoice" + ".pdf"; #endregion return(result); }