دسته بندی ها
22:42 1404/05/21

ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل

مشخصات سوال کننده :
کاربر : Rouhbakhsh     امتیاز کاربر : 1     رتبه کاربر : 152
دسته بندی : Asp.net Core استيمول سافت

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 612
هوش مصنوعی

پاسخ هوش مصنوعی

برای ادغام چند گزارش استیمول سافت به یک فایل پی دی اف، شما نیاز دارید که ابتدا فایل های پی دی اف را به صورت موقت ایجاد کنید و سپس آن ها را با استفاده از کتابخانه ای مانند Aspose.PDF ادغام کنید. در زیر یک مثال از روند کار را ارایه می دهم:


// ابتدا متغیرهایی برای گزارش ها تعریف کنید
List reports = new List();
var selectedReports = GetSelectedReports(); // تابعی برای دریافت گزارش های انتخاب شده

// برای هر گزارش انتخاب شده، آن را تولید و به لیست گزارش ها اضافه کنید
foreach (var reportItem in selectedReports)
{
    StiReport report = new StiReport();
    // تنظیمات و داده های گزارش
    report["prj_name"] = reportItem.PrjName;
    report.RegData("ds", reportItem.DataList);
    
    // ذخیره گزارش به صورت یک فایل موقت
    string temporaryFilePath = Path.Combine(Path.GetTempPath(), $"{reportItem.Name}.pdf");
    report.SaveToPdf(temporaryFilePath);
    reports.Add(temporaryFilePath);
}

// حالا فایل های موقت را ادغام کنید
string mergedFilePath = Path.Combine(Path.GetTempPath(), "merged_report.pdf");
using (var pdfEditor = new PdfFileEditor())
{
    pdfEditor.Concatenate(reports.ToArray(), mergedFilePath);
}

// در نهایت، فایل ادغام شده را به کاربر دانلود کنید
return StiNetCoreReportResponse.ResponseAsFile(mergedFilePath, "merged_report.pdf");

در این کد، ابتدا شناسایی می شود که کدام گزارش ها باید تولید شوند. سپس هر گزارش به صورت یک فایل PDF موقت ذخیره می شود و در نهایت همه فایل های موقت به یک فایل PDF نهایی ادغام می شوند. توجه داشته باشید که باید مسیر مناسب برای ذخیره فایل ها و اضافه کردن مدیریت خطا نیز در نظر گرفته شود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود