الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Iis And Printers ---------->>! تفضلوا ياشباب ..للنقاش

بدأه FUNCTION في 10 يوليو 2008 · 8 رد · 808 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

اللهم صلي على محمد وآل محمد ..

كيف الحال يامبرمجين عساكم بخير :lol:

بصراحة انا من أمس إلى الصباح اليوم جالس ابحث عن حل للمشكلة ولا حصلت حل .. :wacko:

السالفة كلها .. هي اني ابي اطبع ملف text فقط ! يعني عندي في ملف تكست مثلا اسمه ali.txt وفيه كم كلمه داخله .. او سطر من الكلام .. وابي اطبعة من خلال صفحة الـ ASP.NET .. بس بشرط انه يكون مرفوع على السيرفر الي هو سيرفر IIS 5 OR 6 ...

انا طبعا اعرف كود الطابعة .. الكود شغال على الدوت نت يعني في بيئة البرمجة والتطوير الطابعة تعمل .. ومافيها مشكلة .. ولكن .. اذا اخذت ملفات المشروع ووضعتها على السيرفر IIS الي في جهازي .. لا يقوم بالطباعة , ولا يظهر رسالة خطأ لي .. يعني تكون الصفحة في هيئة التحميل , ولا يستجيب للطباعة ..

وهذا هو كود الطابعة التالي الطباعة من ملف تكست

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Drawing;

using System.Drawing.Printing;


public partial class _Default : System.Web.UI.Page
{
	private Font verdana10Font;

	private StreamReader reader;

	protected void Page_Load(object sender, EventArgs e)
	{

	}
	protected void Button1_Click(object sender, EventArgs e)
	{
		string filename = "E:\\data\\Mange_Counter.txt";
		//Create a StreamReader object

		reader = new StreamReader(filename);

		//Create a Verdana font with size 10

		verdana10Font = new Font("Verdana", 10);

		//Create a PrintDocument object

		PrintDocument pd = new PrintDocument();

		//Add PrintPage event handler

		pd.PrintPage += new PrintPageEventHandler(this.PrintTextFileHandler);

		//Call Print Method

		pd.Print();

		//Close the reader

		if (reader != null)

			reader.Close();


	}

	private void PrintTextFileHandler(object sender, PrintPageEventArgs ppeArgs)
	{

		//Get the Graphics object

		Graphics g = ppeArgs.Graphics;

		float linesPerPage = 0;

		float yPos = 0;

		int count = 0;

		//Read margins from PrintPageEventArgs

		float leftMargin = ppeArgs.MarginBounds.Left;

		float topMargin = ppeArgs.MarginBounds.Top;

		string line = null;

		//Calculate the lines per page on the basis of the height of the page and the height of the font

		linesPerPage = ppeArgs.MarginBounds.Height /

		verdana10Font.GetHeight(g);

		//Now read lines one by one, using StreamReader

		while (count < linesPerPage &&

		((line = reader.ReadLine()) != null))
		{

			//Calculate the starting position

			yPos = topMargin + (count *

			verdana10Font.GetHeight(g));

			//Draw text

			g.DrawString(line, verdana10Font, Brushes.Black,

			leftMargin, yPos, new StringFormat());

			//Move to next line

			count++;

		}

		//If PrintPageEventArgs has more pages to print

		if (line != null)
		{

			ppeArgs.HasMorePages = true;

		}

		else
		{

			ppeArgs.HasMorePages = false;

		}

	}


}

اتمنى اذا احد مرت عليه هذه السالفة وهي عدم استجابة الطابعة :D اذا كانت تعمل على الـ IIS .. على انه كما قلت انه في الـ Microsoft Visual Web Developer 2005 Express Edition او في الفيجوال سيتديوا.. عندما اسوي اختبار في داخل البرنامج الطابعة تعمل .. وكل شيء تمام ... ولكن عندما اعرفه على الـ IIS لا تستجيب !

ياخبراء .. انتظر ردكم ... :P

تحياتي لكم :wub:

تم تعديل هذه المشاركة بواسطة FUNCTION في 10 يوليو 2008 في 06:31

#2

سلام اخي

هذه الاكواد للاستعمال داخل برامج الويندوز فقط ولا يمكن استعماله في المواقع

لا تنسى اخي Asp.net وظيفتها انشاء Html ليس اكثر

الطباعه في المواقع تتم عن طريق لغه JS.

مثال:

http://www.javascript-page.com/printpage.html

تم تعديل هذه المشاركة بواسطة EnigmaOX في 10 يوليو 2008 في 06:43

#3

السلام عليكم

حاليا المشكلة عندك في الصلاحيات على الطابعة .

لكن لو رفعت مشروعك على موقع وعمل امر الطباعة بشكل صحيح سيتم الطباعة على طابعة السيرفر وليس على جهاز المستخدم لأن سكريبت ASPX ينفذ على السيرفر وليس على الكلينت بالتالي انت بحاجة الى تمرير الملف الى المتصفح والمستخدم يقوم بالطباعة .

بعنى آخر هذه الطريقة ليست صحيحة للطباعة

#4

اولا شكرا لك اخي الفاضل .. EnigmaOX

انا طبعا اعرف هذا الكود للطباعة بالجافا سكربت ..

الكود السابق الذي استخدمته في برنامجي .. يعمل على الفيجوال ستيديوا.. في الـASP.NET ولكن لا يعمل على الـ IIS

وانا اريد الطباعة تكون من السيرفر . وليس من الكلاينت .. لانه البرنامج بحد ذاته على السيرفر محلي .. وليس انترنت ..

----------------------

اخي طارق . شكرا لك على ردودك الجميلة ..

بصراحة لم افهم عليك .. انا اريد الطباعة من خلال السيرفر . وليس من خلال الكلاينت .. لانه السيرفر محلي .. واستخدامه محلي ..

وانا اريد اطبع .. نص معين .. من خلال الكود السابق .. في ملف تكست ..

اتمنى من لدية طريقة المساعدة لاني بصراحة محتاج الشيء ظروري ..

باختصار شديد اريد ان اطبع ملف TXT

#5

على أي نسخة من الويندوز تعمل ؟

تأكد من أنك قمت بتنصيب الـ printing services واللتي تسمح بالـ IPP

وتأكد كذلك من أنك قمت كذلك بالسامح وعمل allow للـ services

عملية طباعة ملف txt سهلة من خلال أنظمة السيرفرات Windows server 2003 على سبيل المثال لا الحصر

لن تحتاج فيها إلى كتابة كود الـ asp.NET

بل بمجرد تنصيب الـ services سيتم إنشاء ملفات ASP في الـ IIS واالتي تتيح لك الوصول إلى الطابعة من خلال الويب ..

تحياتي ،،

System Administrator

#6

اهلا اخي الفاضل العزيز ..

شكرا على مشاركتك الكريمة ..

انا طبعا اعمل على نظام اكس بي .. بروفونشنال ..

اذا ما خاب ظني انه مركبه هذه الخدمة .. بس راح أتاكد مرة ثانيه .. وشكرا لك على الرد الكريم ..

راجع لك بالنتائج

#7

اخي الفاضل ..

عملت مثل ماقلت .. ولكن دون فائدة ,, هناك شيء .. يمنع الوصول إلى البرنتر .. !!! واظن من الـ IIS

انا الي فاك عقلي انه على الفيجوال سيتديوا .. في وضع البرمجة استطيع الطباعة .. يعني عند التجارب في بيئة البرمجة استطيع الطباعة من طابعة الجهاز ..

ياخبراء .. اتمنى المشاركة ..

#8

السلام عليكم ,

مشكورين لك الاشخاص الي شاركوواا,,

والحل هو انه , تحذف الـ Update التلقائي للوندوز ,,لانه يقوم بحجب شغلات للـ IIS وهذا والله اعلم ,,

#9
FUNCTION كتب:
السلام عليكم ,

مشكورين لك الاشخاص الي شاركوواا,,

والحل هو انه , تحذف الـ Update التلقائي للوندوز ,,لانه يقوم بحجب شغلات للـ IIS وهذا والله اعلم ,,

وعليكم السلام ورحمة الله وبركاته

شكراً على وضعك للحل .. بس ممكن توضح أكتر ؟

System Administrator

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…