Hamedm
سه شنبه 20 دی 1384, 00:57 صبح
سلام
چند وقت پیش با یک پرینتر دچار مشکل شدم که با فونتهای B سازگار نبود و تمامی گزارشاتم هم با B Nazanin بود. مشکلمو در این بخش مطرح کردم و جناب PalizeSoftware نرم افزاری رو معرفی کردند (در این تاپیک http://www.barnamenevis.org/forum/showthread.php?t=35832 ).
به علت دلایلی نمیتونستم از این نرم افزار استفاده کنم. (با لود کردن گزارش در این نرم افزار میتونستیم تمام فونتهارو در کمترین زمان ممکن عوض کنیم، پرینتره هم با فونتهای پارسا 99 سازگار بود اما با عوض کردن فونتها به فونتهای پارسا99 مشکل ی پیش میومد و نیز اعداد رو فارسی نشون نمیداد).
به خاطر همین تنها راهی که به نظرم رسید و بهترین و مطمئن ترین راه هم بود همون Export به PDF و چاپ PDF بود.
حالا یک مشکل دیگه پیش میومد، چون کریستال موقع Export پنجره Report Export رو باز میکنه و از کاربر مسیر برای دخیره کردن فایل PDF میپرسه.
این چند روز کار من شده بود جستجو در MSDN تا مشکل Export رو حل کنم.
و سر انجام کد زیر رو نوشتم که مشکلمو حل کرد:
Dim ReportTemp As CrystalDecisions.CrystalReports.Engine.ReportDocum ent = rpt
Dim ExportOptTemp As New CrystalDecisions.Shared.ExportOptions
Dim PDFFormatOpt As New CrystalDecisions.Shared.PdfRtfWordFormatOptions
Dim DiskOpt As New CrystalDecisions.Shared.DiskFileDestinationOptions
ExportOptTemp = ReportTemp.ExportOptions
ExportOptTemp.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat
ExportOptTemp.FormatOptions = PDFFormatOpt
ExportOptTemp.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
DiskOpt.DiskFileName = "PDFPrint.pdf"
ExportOptTemp.DestinationOptions = DiskOpt
ReportTemp.Export() برای چاپ هم از خود کامپوننت Acrobat Reader استفاده کردم و در آخر هم فایل PDF رو پاک میکنم.
این سورس رو اینجا قراردادم تا اگه بقیه دوستان با این پرینترها مواجه شدند سریع مشکل رو با تبدیل به PDF و چاپ اون، حل کنند.
در پناه حق موفق باشید و پرتوان
چند وقت پیش با یک پرینتر دچار مشکل شدم که با فونتهای B سازگار نبود و تمامی گزارشاتم هم با B Nazanin بود. مشکلمو در این بخش مطرح کردم و جناب PalizeSoftware نرم افزاری رو معرفی کردند (در این تاپیک http://www.barnamenevis.org/forum/showthread.php?t=35832 ).
به علت دلایلی نمیتونستم از این نرم افزار استفاده کنم. (با لود کردن گزارش در این نرم افزار میتونستیم تمام فونتهارو در کمترین زمان ممکن عوض کنیم، پرینتره هم با فونتهای پارسا 99 سازگار بود اما با عوض کردن فونتها به فونتهای پارسا99 مشکل ی پیش میومد و نیز اعداد رو فارسی نشون نمیداد).
به خاطر همین تنها راهی که به نظرم رسید و بهترین و مطمئن ترین راه هم بود همون Export به PDF و چاپ PDF بود.
حالا یک مشکل دیگه پیش میومد، چون کریستال موقع Export پنجره Report Export رو باز میکنه و از کاربر مسیر برای دخیره کردن فایل PDF میپرسه.
این چند روز کار من شده بود جستجو در MSDN تا مشکل Export رو حل کنم.
و سر انجام کد زیر رو نوشتم که مشکلمو حل کرد:
Dim ReportTemp As CrystalDecisions.CrystalReports.Engine.ReportDocum ent = rpt
Dim ExportOptTemp As New CrystalDecisions.Shared.ExportOptions
Dim PDFFormatOpt As New CrystalDecisions.Shared.PdfRtfWordFormatOptions
Dim DiskOpt As New CrystalDecisions.Shared.DiskFileDestinationOptions
ExportOptTemp = ReportTemp.ExportOptions
ExportOptTemp.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat
ExportOptTemp.FormatOptions = PDFFormatOpt
ExportOptTemp.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
DiskOpt.DiskFileName = "PDFPrint.pdf"
ExportOptTemp.DestinationOptions = DiskOpt
ReportTemp.Export() برای چاپ هم از خود کامپوننت Acrobat Reader استفاده کردم و در آخر هم فایل PDF رو پاک میکنم.
این سورس رو اینجا قراردادم تا اگه بقیه دوستان با این پرینترها مواجه شدند سریع مشکل رو با تبدیل به PDF و چاپ اون، حل کنند.
در پناه حق موفق باشید و پرتوان