ایجاد فایل PDF توسط Spire.PDF در ASP.Net

چهارشنبه 15 مهر 1394

در این مقاله قصد داریم در مورد درست کردن فایل های PDF در asp.net توضیح دهیم ، اینکه چگونه می شود یک فایل Pdf بسیار معمول در یک application تحت وب ایجاد کرد

ایجاد فایل PDF توسط Spire.PDF در ASP.Net

در این مقاله با استفاده از 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");

        }

 

وقتی برنامه را اجرا کنید به صورت زیر خواهد بود:

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید