PDA

View Full Version : چاپ عکس tif ذخیره شده به صورت چند صفحه ای از sql



asman.abi
شنبه 07 دی 1392, 12:21 عصر
من یک فایل عکس چند صفحه ای مثل فایل های tif رو در پایگاه داده sql ذخیره کردم و می خوام این فایل عکس چند صفحه ای رو چاپ کنم . لطفا کمک کنید.
با این کد کل محتوا رو که در متغیر fileData هسترو در پایگاه ذخیره می کنم.
FileStream st = new FileStream(filename, FileMode.Open);
fileData = new byte[st.Length];
st.Read(fileData, 0, (int)st.Length);
st.Close();
می خوام این فیلد که به صورت باینری دخیره شده رو واکشی کنم از پایگاه بعد در یکی از printviewer ها نمایش بدم برای چاپ.

لطفا راهنمایی کنید.

fmehrvarzi
شنبه 07 دی 1392, 14:33 عصر
اگر داری کارای ریپورت گیری انجام میدی بهتر است از استیمول سافت یا کریستال ریپورت استفاده کنی
اگر هم نه این هم جواب سوالت: :متعجب:
ابتدا باید صفحات tiff رو به Bitmapهای جدا از هم تبدیل کنید
میتونی برا کد نویسیش از این لینک ها کمک بگیری
Bitonal (TIFF) Image Converter for .NET (http://www.codeproject.com/Articles/15186/Bitonal-TIFF-Image-Converter-for-NET)

http://bitmiracle.com/libtiff/help/convert-black-and-white-tiff-to-a-system.drawing.bitmap.aspx

و برای پرینت گرفتن بیت مپ ها میتونی از اینها استفاده کنی :قهقهه:

Print a bitmap full page (http://www.codeproject.com/Articles/12391/Print-a-bitmap-full-page)

protected void btnPrint_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(pqr);
pd.Print();
}


void pqr(object o, PrintPageEventArgs e)
{
System.Drawing.Image i = System.Drawing.Image.FromFile("E:\\print\\winterflowers2.bmp");
Point p = new Point(100, 100);
e.Graphics.DrawImage(i, p);
}
سوال دیگه ای؟ :لبخند:

asman.abi
شنبه 07 دی 1392, 15:38 عصر
از استیمول استفاده کردم باز هم با روش من فقط یک صفحه میده

میشه بیشتر توضیح بدی . این لینک ها رو

asman.abi
شنبه 07 دی 1392, 19:12 عصر
اینجا هم پاسخ گو نیستن :ناراحت: