09 Eki 2021 ASP.NET ile HTML'den PDF'e Çevirme İşlemi Kategori: ASP.NET Etiketler: ASP.NETASP.NET 4.0C# 4.0 35 Yorum HTML'den PDF'e dönüşüm işlemini "wkhtmltopdf" ile çok basit bir şekilde yapabiliyoruz. public static string HtmlToPdf(string pdfOutputLocation, string outputFilenamePrefix, string[] urls, string[] options = null, string pdfHtmlToPdfExePath = "C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe") { string urlsSeparatedBySpaces = string.Empty; try { //Determine inputs if ((urls == null) || (urls.Length == 0)) throw new Exception("No input URLs provided for HtmlToPdf"); else urlsSeparatedBySpaces = String.Join(" ", urls); //Concatenate URLs string outputFolder = pdfOutputLocation; string outputFilename = outputFilenamePrefix + ".PDF"; // assemble destination PDF file name var p = new System.Diagnostics.Process() { StartInfo = { FileName = pdfHtmlToPdfExePath, Arguments = ((options == null) ? "" : String.Join(" ", options)) + " " + urlsSeparatedBySpaces + " " + outputFilename, UseShellExecute = false, // needs to be false in order to redirect output RedirectStandardOutput = true, RedirectStandardError = true, RedirectStandardInput = true, // redirect all 3, as it should be all 3 or none WorkingDirectory = HttpContext.Current.Server.MapPath(outputFolder) } }; p.Start(); // read the output here... var output = p.StandardOutput.ReadToEnd(); var errorOutput = p.StandardError.ReadToEnd(); // ...then wait n milliseconds for exit (as after exit, it can't read the output) p.WaitForExit(100000); // read the exit code, close process int returnCode = p.ExitCode; p.Close(); // if 0 or 2, it worked so return path of pdf if ((returnCode == 0) || (returnCode == 2)) return outputFolder + outputFilename; else throw new Exception(errorOutput); } catch (Exception exc) { throw new Exception("Problem generating PDF from HTML, URLs: " + urlsSeparatedBySpaces + ", outputFilename: " + outputFilenamePrefix, exc); } }Kullanırken de aşağıdaki gibi çağırabiliriz.Parametreler hakkında bilgileri aşağıda bulabilirsiniz.1. Parametre: PDF'in kaydedileceği klasör.2. Parametre: PDF dosyasının adı.3. Parametre: Hangi URL'in PDF'i oluşturulacaksa belirtiyoruz.HtmlToPdf("/uplodas/", "PDFDosyasiAdi", new string[] { "http://www.semgoksu.com" }); Yorum (35) Bu yazıya henüz yorum yapılmamış... Yorum Yaz * Ad Soyad: * Email: * Message: