ایجاد فایل PDF توسط Spire.PDF در ASP.Net
چهارشنبه 15 مهر 1394در این مقاله قصد داریم در مورد درست کردن فایل های PDF در asp.net توضیح دهیم ، اینکه چگونه می شود یک فایل Pdf بسیار معمول در یک application تحت وب ایجاد کرد
در این مقاله با استفاده از Spire.pdf می خواهیم یک فایل pdf را بسازیم.
Spire.pdf:این کتابخانه ویژگی های بسیار زیادی دارد که می توانید یک فایل ایجاد،ویرایش و یا حذف نمایید.
با استفاده از این کتابخانه فایل های pdf ایجاد می شود، ولی خواندن آن با نرم افزار adobeانجام می شود.
یک صفحه ی WebForm جدید باز کنید و کد های زیر را داخل آن قرار دهید.
<body dir="rtl"> <form id="form1" runat="server"> <div> <h2><a href="http://barnamenevisan.org/">مرجع تخصصی برنامه نویسان</a></h2> <asp:Panel ID="Panel1" runat="server"> <h2>خوش آمدید</h2> <p> مرجع تخصصی برنامه نویسان </p> <p> PDF آموزش ساخت فایل </p> </asp:Panel> <asp:Button ID="btnHtml2PDF" runat="server" Text="PDF ساخت " OnClick="btnHtml2PDF_OnClick" /> </div> </form> </body>
در مرحله ی بعدی یا کتابخانه ی spire را دانلود نمایید یا اینکه می توانید به صورت آنلاین Nuget را نصب کنید
NameSapce های زیر را به پروژه ی خود اضافه نمایید.
using Spire.Pdf; using Spire.Pdf.HtmlConverter; using System.Text; using System.Threading; using System.IO;
یک فایلPDF جدید بسازید.
PdfDocument pdf = new PdfDocument();
در قسمت بعد صفحه بندی صفحه و تنظیمات آن را انجام می دهید.یکی از تنظیمات اندازه ی صفحه است که آن را به A4 تنظیم می نمایید.
PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); //webBrowser load html whether Waiting htmlLayoutFormat.IsWaiting = false; //page setting PdfPageSettings setting = new PdfPageSettings(); setting.Size = PdfPageSize.A4;
کد زیر کد های html را در یک stream ذخیره می کند، و یک فایل pdf با کد های html می سازد، و pdf را نمایش میدهد.
protected void btnHtml2PDF_OnClick(object sender, EventArgs e) { PdfDocument pdf = new PdfDocument(); PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); //webBrowser load html whether Waiting htmlLayoutFormat.IsWaiting = false; //page setting PdfPageSettings setting = new PdfPageSettings(); setting.Size = PdfPageSize.A4; var sb_htmlCode = new StringBuilder(); Panel1.RenderControl(new HtmlTextWriter(new StringWriter(sb_htmlCode))); string htmlCode = sb_htmlCode.ToString(); //use single thread to generate the pdf from above html code Thread thread = new Thread(() => { pdf.LoadFromHTML(htmlCode, false, setting, htmlLayoutFormat); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); //pdf.SaveToFile("output.pdf"); //System.Diagnostics.Process.Start("output.pdf"); string path = Server.MapPath(Request.ApplicationPath); string file = path + @"\NewFolder1\output.pdf"; pdf.SaveToFile(file); System.Diagnostics.Process.Start(@"\NewFolder1\output.pdf"); }
وقتی برنامه را اجرا کنید به صورت زیر خواهد بود:
- ASP.net
- 3k بازدید
- 3 تشکر