ارسال عکس به stimulsoft و ایجاد گزارش
نویسنده: علیرضا حسنی
تاریخ: ۱۳۹۴/۱۱/۰۴ ۲۰:۴۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
سپس بر روی گزینهی New Variable کلیک میکنیم:
اکنون در قسمت Name، نام نمایشی را وارد میکنیم که با تبدیل کردن Alias نیز تغییر میکند و میتواند متفاوت باشد. در ادامه در قسمت Type ،Type را بر روی Image میگذاریم و سپس بر روی دکمهی ok کلیک میکنیم. حال variable ایی را که ایجاد کردهایم، بر روی صفحه میکشیم و در محل مورد نظر قرار میدهیم و پروژه را save میکنیم. تا اینجا توانستهایم فایلی را بهوسیلهی stimulsoft ایجاد کنیم که دارای یک مقدار variable هست.
حال باید بتوانیم آن را در پروژهی خود استفاده کنیم. جهت استفادهی از آن، یک پروژهی از نوع برنامهی ویندوز (Windows Application) را ایجاد میکنیم و بر روی آن یک دکمه را جهت ارسال (چاپ گزارش) قرار میدهیم.
سپس به قسمت #C رفته و یک متد را تحت عنوان imageToByteArray مانند کدهای زیر ایجاد میکنیم:
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms =n ew MemoryStream();
imageIn.Save(ms, imageIn.RawFormat);
return ms.ToArray();
} var img = new System.Drawing.Bitmap(@"C:\\Users\\Ali\\Desktop\\multipage_tif_example.tif");
byte[] array1 = imageToByteArray(img);
MemoryStream ms = new MemoryStream(array1);
System.Drawing.Image image = System.Drawing.Image.FromStream(ms);
StiReport rpt = new StiReport();
rpt.Load(Application.StartupPath + "\\Report(image).mrt");
rpt.Dictionary.Variables.Add("Image1", image);
rpt.Compile();
rpt.Show(); var img = new System.Drawing.Bitmap(@"C:\\Users\\Ali\\Desktop\\multipage_tif_example.tif");
rpt.Load(Application.StartupPath + "\\Report(image).mrt");
باید دقت داشت جهت استفادهی از برنامه Stimulsoft بایستی dllهای مربوط به آن در پروژه قرارگرفته باشد و استفاده شده باشد.
private void ModifyItemList()
{
ItemList.Clear();
var AllItems = from BetaData in BetaContext.BetaDatas
where BetaData.ProjectName == Globals.ProjectName &&
BetaData.ProjectCode == Globals.ProjectCode &&
(BetaData.Type == Globals.Types.Partition || BetaData.Type == Globals.Types.Door)
select BetaData;
foreach(BetaData data in AllItems)
{
byte[] imageByte = data.Image.ToArray();
MemoryStream MS = new MemoryStream(imageByte);
Image img = Image.FromStream(MS);
StiImage stiImg = new StiImage();
stiImg.Image = img;
Items newItem = new Items
{
Image = img,
Name = data.Name
};
ItemList.Add(newItem);
}
}
private void modiefieItemListToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void modifiedItemListToolStripMenuItem_Click(object sender, EventArgs e)
{
ModifyItemList();
ModifiedItemListReport.RegBusinessObject("Items",ItemList);
ModifiedItemListReport.Compile();
ModifiedItemListReport.Render();
ModifiedItemListReport.Show();
}
public class Items
{
public string Name { get; set; }
public Image Image { get; set; }
} StiImage stiImg = new StiImage();
stiImg.Image = img;