كيف يمكن إنشاء ملف PDF من تعريف تقرير مضمن بدون خادم أو واجهة مستخدم؟
-
02-07-2019 - |
سؤال
هل من الممكن لبرنامج مستقل قابل للتنفيذ إنشاء تقرير وإخراجه بصيغة PDF (أو أحد خيارات التصدير الأخرى المتاحة من عارض التقارير) دون عرض عنصر تحكم ReportViewer؟
يجب أن يكون تعريف التقرير مضمنًا في الملف القابل للتنفيذ ويجب ألا يستخدم خدمة ويب خدمات التقارير.
المحلول
في الواقع، لا تحتاج إلى ReportViewer على الإطلاق، يمكنك إنشاء مثيل LocalReport مباشرةً واستخدامه:
LocalReport report = new LocalReport();
report.ReportPath = "templatepath";
// or use file from resource with report.ReportEmbeddedResource
// add parameters, datasource, etc.
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;
byte[] bytes;
bytes =report.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
// save byte[] to file with FileStream or something else
نصائح أخرى
ليس عليك إظهار عنصر التحكم نفسه.
ReportViewer rv = new ReportViewer();
rv.LocalReport.ReportPath = "templatepath";
// or use file from resource with rv.LocalReport.ReportEmbeddedResource
// add parameters, datasource, etc.
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;
byte[] bytes;
bytes = rv.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
// save byte[] to file with FileStream or something else
ومع ذلك، يمكنه عرض ملفات PDF وXLS فقط (حيث لا يمكن لعنصر تحكم ReportViewer التصدير إلى Word وغيره كما تفعل خدمة Reportig).
نسيت أن أذكر أن الكود أعلاه هو C#، وذلك باستخدام .NET Framework والتحكم ReportViewer.الدفع GotReportViewer لبداية سريعة.
هل يمكنك تمرير تقرير .rdlc مباشرة إلى pdf مع المعلمات؟لدي قائمتان منسدلتان يمكنني سحب تقريري بهما.لا يمكنني تشغيل المعلمات عند التصدير تلقائيًا إلى ملف pdf.هنا هو الخطأ الذي أحصل عليه:Microsoft.ReportingServices.ReportProcessing.ReportProcessingException:لم يتم تحديد معلمة واحدة أو أكثر مطلوبة لتشغيل التقرير.
تعمل القوائم المنسدلة عندما أستخدم عارض التقارير، لكني أريد تخطي هذه الخطوة.يمكنني أيضًا تحويل بياناتي مباشرةً إلى ملف pdf إذا لم يكن يحتوي على أي معلمات.قوائمي المنسدلة تسمى ddlyear وddlmonth.