PDA

View Full Version : گزارش سازی با ireport



cnmeysam
جمعه 15 دی 1396, 00:46 صبح
سلام
من یه گزارش درست کردم با iReport-4.7.0
توی سیستم خودم وقتی توی خود برنامه طراحی گزارش هستم همه چیز درست کار میکنه حتی خروجی pdf
توی شاخه tools->options->fonts فونتهای مورد نظرمو اضافه کردم و ازشون export گرفتم و توی classpath هم ادشون کردم
موقع نصب فونتها embed رو برای pdf تیکش رو زدم و از یونیکد هم identity-h(........) رو انتخاب کردم
ولی وقتی توی جاوا فراخوانیش میکنم درست باز میشه همه چیز کاملا درست نمایش داده میشه ولی وقتی میخوام بصورت pdf ذخیرش کنم همه چیزایی که فارسی هستن کلا حذف میشن یا علامت سوال میشن
البته متوجه شدم چون مسیر ریشه ریپورت ها عوض میشه این مشکل پیش میاد
و در نتیجه توی سیستم دیگه هم باز با pdf مشکل دارم
کسی راهی برای حل این مشکل داره؟
میشه راهنماییم کنید؟

cnmeysam
شنبه 16 دی 1396, 13:02 عصر
چرا کسی جواب نمیده؟:گریه:

vahid-p
شنبه 16 دی 1396, 15:12 عصر
دوست عزیز کلی میگم، فقط جواب به تاپیک شما نیست. برخی سوالات خیلی خیلی جزئی هستند.
مثلا من اصلا اسم iReport رو هم نشنیدم. اونوقت یک مشکل با این سطح از جزئیات انتظار دارید کسی جوابگو باشه؟ ممکنه کسی اتفاقی با این کار کرده باشه ولی هزار دلیل ممکنه داشته باشه این مشکل. شاید اصلا باگ لایبرری باشه. چنین لایبرری هایی که خیلی مطرح نیستن، احتمال وجود باگشون خیلی بیشتره. در چنین مواقعی باید از سایت خود لایبرری یا نویسنده لایبرری سوال بپرسید. همچنین قبلش به انگلیسی سرچ کنید، شاید قبلا موضوع این چنینی مطرح شده باشه.

اینجوری در وقتتون هم صرفه جویی خواهد شد.

من فقط یکم با iText فکر کنم اسمش بود کار کردم برای ساخت pdf اونم مشکلات زیادی داره ولی خب خروجی فارسی تونستیم بگیریم ازش. یا راه دیگه اینه ابتدا خروجیتون رو به صورت html درست کنید و بعد لایبرری برای تبدیل html به pdf اگر باشه استفاده کنید.

cnmeysam
شنبه 16 دی 1396, 18:43 عصر
خیلی تو سایتای انگلیسی سرچ کردم همین کارایی که کردم توضیح دادن موضوع اینه توی سیستم وقتی خود ireport نصب باشه تو خود برنامه ireport خروجی درسته ولی وقتی توی جاوا فراخوانیش میکنم فقط در مورد خروجی pdf اشکال بر میخوره جالبه حروجی word یا ecxel مشکلی نداره پرینتشم درسته فقط توی pdf قاط میزنه
شرمنده میدونم شما خیلی زحمت میکشی تا به پست ها پاسخ بدی وقتی جواب ندادی احتمال دادم شاید ندونی منظورم از اون حرف با کسای دیگه ای که تو انجمن عضو هستن بود آخه خیلیها یعنی تقریبا 53 نفر دیدن ولی جواب ندادن گفتم شاید میدونستن ولی تنبلیشون اومده جواب بدن:بامزه:
خب شما چه نرم افزار گزارش گیری رو پیشنهاد میدید؟ شاید اونم تست کردم البته جز کریستال ریپورت و نرم افزارهای تحت دات نت و ... که مخصوص ویندوز هستن چون برنامم هم باید توی لینوکس هم ویندوز هم مک کار کنه:لبخند:

vahid-p
شنبه 16 دی 1396, 22:30 عصر
تو پست قبلی گفتم itext ( itextpdf ).

cnmeysam
شنبه 16 دی 1396, 22:35 عصر
تو پست قبلی گفتم itext ( itextpdf ).
itext فقط خروجی pdf میده امکانات ireport و پدیچیدگیها و کدهای داینامیکی که میشه ireport استفاده کرد و خروجی هایی مثل اکسل و word و ... رو نداره منم اول با itext کار کردم ولی خیلی محدوده

vahid-p
شنبه 16 دی 1396, 22:38 عصر
منم برای pdf گفتم. سوالتون هم فکر کنم در مورد pdf بود. بلاخره امکانات خوبی داره + امکان تبدیل html به pdf هم داره. منظورتون از کدهای داینامیک هم متوجه نشدم، ولی با همین itext هم هر ساختاری رو میشه با کدنویسی درستش کرد. به هر حال پیشنهاد دیگه ای ندارم و مزایا و معایب رو با هم باید بسنجید و انتخاب کنید.

cnmeysam
شنبه 16 دی 1396, 22:53 عصر
مشکلم این نیست که نمیتونم خروجی pdf بسازم اصلا خود table رو میشه به صورت pdf مستقیم ذخیره کرد این هم کدش


public void print() {
datatable.setFont(new Font("Tahoma", Font.PLAIN, 14));
MessageFormat header = new MessageFormat("گزارش ظروف");
MessageFormat footer = new MessageFormat("page{0,number,integer}");
try{
datatable.print(JTable.PrintMode.FIT_WIDTH, header, footer);
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null, ex.getMessage());
}
datatable.setFont(new Font("Tahoma", Font.PLAIN, 14));
}


من از امکانات ireport خوشم اومد نسبت به itext یا حتی کریستال ریپورت و گزارش سازهای تحت ویندوزی که تاحالا دیدم تنها مشکلش با فارسیه که توی خروجی pdf اون هم فقط توی جاوا نه خود برنامش بهش بر خوردم یعنی تو خود برنامه خروجی pdf رو بعد تنظیمات درست میده ولی وقتی توی netbeans فراخوانیش میکنم pdf حروفش یا حذف میشه یا علامت سوال میشه البته فقط حروف و اعداد فارسی

cnmeysam
یک شنبه 17 دی 1396, 14:59 عصر
سلام راه حل مشکل رو پیدا کردم البته شانسی به ذهنم رسید و تست کردم
تو ireport
توی شاخه tools->options->fonts فونتهای مورد نظرمو اضافه کردم و ازشون export گرفتم با اسم خود فونت و با پسوند jar ذخیره کردم (مثلا Arial.jar یا B Titr.jar) بعد توی netbeans تو libraries اضافه کردمشون
به همین سادگی مشکل در مورد خروجی pdf هم حل شد امیدوارم به دردتون بخوره

اینم آموزش نصب فونت توی خود ireport
http://uploadboy.com/wyy92c249xg4/66/mp4

cnmeysam
یک شنبه 17 دی 1396, 16:11 عصر
این هم یه فیلم آموزش خیلی کاربردی و نسبتا کامل در مورد گزارش سازی توی جاوا با ireport (زبان اصلی و انگلیسی هست ولی اگه زبان هم بلد نباشید متوجه موضوع و طریقه کار میشین)

لینک دانلود آموزش
http://uploadboy.com/qof8pqs0ii1v/67/zip
حجم فایل 156 مگابایت هستش سرورشم آپلود بوی

لینک دانلود jasperreports-4.7.0-project
http://uploadboy.com/sb2sun02hbvs/67/zip
حجم فایل 87.5 مگابایت هستش سرورشم آپلود بوی

البته باید iReport-4.7.0-windows-installer رو هم دانلود و نصب کنید

فقط اگه از این نسخه ireport استفاده می کنید یادتون باشه باید جاوا نسخه 7 به پایین نصب کنید و توی مسیر(البته اگه مسیر نصبتون رو تغییر نداده باشید ) C:\Program Files (x86)\Jaspersoft\iReport-4.7.0\etc فایل ireport.conf رو ویرایش کنید یه چیزی مثل این بشه تا فرم طراحی گزارشتون اجرا بشه البته این مشکل توی نسخه های بالاتر حل شده این کار مسیر نصب jdk نسخه مورد نیازش رو روی سیستمتون به ireport معرفی میکنه چون ممکنه شما jdk 9 نصب کنید ولی باید به ireport نسخه پایینتری رو معرفی کنید در این مورد من jdk7 رو نصب و معرفی کردم البته کنارش jdk8 رو برای netbeans نصب و استفاده میکنم یعنی اول
jdk
8 رو نصب کردم netbeans رو نصب و اجرا کردم بعد ireport رو نصب و jdk7 رو نصب و بهش معرفی کردم





# ${HOME} will be replaced by user home directory according to platform
default_userdir="${HOME}/.${APPNAME}/4.7.0"
default_mac_userdir="${HOME}/Library/Application Support/${APPNAME}/4.7.0"


# options used by the launcher by default, can be overridden by explicit
# command line switches
default_options="--branding ireport -J-Xms256m -J-Xmx512m -J-Dorg.netbeans.ProxyClassLoader.level=1000 -J-XX:MaxPermSize=512m "
# for development purposes you may wish to append: -J-Dnetbeans.logger.console=true -J-ea


# default location of JDK/JRE, can be overridden by using --jdkhome <dir> switch
#jdkhome="/path/to/jdk"
jdkhome="C:/Program Files (x86)/Java/jdk1.7.0_80"
# clusters' paths separated by path.separator (semicolon on Windows, colon on Unices)
#extra_clusters=




jdkhome="C:/Program Files (x86)/Java/jdk1.7.0_80" اینجا مسیر نصب jdk خودتون رو باید بذارید
یعنی مسیر نصب جاوا مثلا 7 رو بهش بدین با این حساب netbeans میتونه از جاوا هر ورژنی که شما دلتون میخواد یعنی 8 یا 9 یا .... استفاده کنه و فقط برای طراحی فرم گزارشتون توی این نسخه ireport نسخه های پایینتر از جاوا 7 و کمتر استفاده کنه البته بعد از طراحی فرم دیگه نسخه جاوا مهم نیست توی سیستم مقصد حتی جاوا 9 یا بالاتر هم باشه گزارشتون به درستی اجرا میشه و کار میکنه
برای خروجی فارسی هم از آموزش پست قبلی استفاده کنید
اگه سوالی داشتید بپرسید اگه بلد باشم خوشحال میشم بتونم کمکتون کنم و حتما جواب میدم