نحوه تبدیل سند word به pdf در Asp.net core چگونه است ؟
من از aspose استفاده کردم نیاز به لایسنس دارد.کتابخانه رایگان نمی دونید؟ یا روش های دیگر.
برای تبدیل فایل Word به Pdf میتونید از کامپوننت های Syncfusion هم استفاده کنید. البته این کامپوننت ها هم دارای لایسنس هستن ولی لایسنس رایگان این کامپوننت ها در محیط نت موجود هست.
اما بدون استفاده از کامپوننت هم می تونید این کار رو انجام بدید.
تبدیل فایل Word به Pdf با استفاده از کتابخانه GrapeCity
- یک پروژه از نوع Asp.net Core ایجاد کنید.
- در پنجره Solution Explorer روی Dependencies کلیک راست کنید و گزینه Manage Nuget Package را بزنید.
- پکیج GrapeCity.Documents.Word.Layout را پیدا کنید و نصب کنید.
- در کنترلر Home و اکشن Index کد زیر را کپی و پیست کنید:
public IActionResult Index()
{
//دریافت فایل ورد
var wordDoc = new GcWordDocument();
var path = Path.Combine(@"D:\porsnet.docx");
wordDoc.Load(path);
using (GcWordLayout layout = new GcWordLayout(wordDoc))
{
//مشخص کردن مشخصات فایل پی دی اف که قرار است تولید شود
PdfOutputSettings pdfOutputSettings = new PdfOutputSettings();
pdfOutputSettings.CompressionLevel = CompressionLevel.Fastest;
pdfOutputSettings.ConformanceLevel = GrapeCity.Documents.Pdf.PdfAConformanceLevel.PdfA1a;
pdfOutputSettings.BackColor = Color.LightGray;
pdfOutputSettings.DocumentInfo = new GrapeCity.Documents.Pdf.DocumentInfo()
{
Author = "Porsnet",
Title = "ConvertWordToPdf",
CreationDate = new GrapeCity.Documents.Pdf.PdfDateTime(DateTime.Now)
};
//تبدیل فایل ورد دریافت شده به پی دی اف مشخص شده
layout.SaveAsPdf(@"D:\salam.pdf", null, pdfOutputSettings);
}
return View();
}
کد بالا شامل 3 قسمت می باشد. ابتدا فایل ورد مورد نظر را دریافت می کند. در این مثال در درایو D فایل ورد به نام porsnet.docx را دریافت می کند. شما میتوانید این مسیر را از طریق کلاینت هم مشخص کنید.
سپس مشخصات فایل pdf که قرار است تولید شود را مشخص می کند و در نهایت فایل ورد را به pdf تبدیل می کند.
کد بالا تست شده و سالم می باشد.
نکته : این روش برای فایل های ورد انگلیسی بدون مشکل اجرا میشه. اما متاسفانه در برخی فایل های ورد فارسی مشکلاتی پیش میاره. در هر صورت به عنوان یک راه کار می تونید ازش استفاده کنید یا بهبود بدید کار رو.
برای تست ابتدا یک فایل ورد کوچک رو ایجاد کنید و تست کنید.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2