[C#] إرسال المستند إلى الطابعة مع C #


Answers

العديد من الطابعات والأجهزة متعددة الوظائف اليوم دعم طباعة ملفات بدف مباشرة، وهذا قد يحل واحدة من المشاكل الخاصة بك. ببساطة إرسال بدف إلى الطابعة. في الواقع، بعض حتى دعم إرسال ورل وسوف الطابعة ثم يذهب الحصول على وثيقة وطباعته. ليكسمارك بالتأكيد هذا وأعتقد أن بعض الشركات الأخرى تفعل كذلك. هذا لا يزال يعني أن لديك للتعامل مع مستند ورد. ورد 2007 يدعم بدف (مع الوظيفة الإضافية المثبتة من ميكروسوفت ) ولقد استخدمت هذه الوظيفة بشكل منهجي مع نجاح كبير في C #.

إليك شفرة ذلك:

Microsoft.Office.Interop.Word.ApplicationClass msWord = new Microsoft.Office.Interop.Word.ApplicationClass();

object paramUnknown = Type.Missing;
object missing = Type.Missing;
object paramSaveChangesNo = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
//object paramFonts = Microsoft.Office.Interop.Word.wde
object paramFormatPDF = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF;
object paramTrue = true;
object paramReadOnly = true;  
object sourceDoc = @"c:\input.doc"                              
object target = @"c:\output.pdf";

msWord.Visible = false;

//open .doc
msWord.Documents.Open(ref sourceDoc, ref paramUnknown, ref paramReadOnly, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown);

//so it won't show on the taskbar
msWord.Application.Visible = false;
msWord.WindowState = Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMinimize;

//save .doc to new target name and format
msWord.ActiveDocument.SaveAs(ref targetDoc, ref paramFormatPDF, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramTrue, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown, ref paramUnknown);

msWord.ActiveDocument.Close(ref missing, ref missing, ref missing);

msWord.Quit(ref paramSaveChangesNo, ref paramUnknown, ref paramUnknown);

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

Question

لقد أعطيت مطلبا لتطبيق ويب داخلي لإرسال المستندات إلى طابعة بشفافية. والفكرة هي أن يمكن للمستخدم اختيار أقرب طابعة، وتطبيق الويب من شأنه أن يرسل مهام الطباعة الخاصة بهم إلى الطابعة التي اختاروها.

أول طابعة لدينا يجب أن تتعارض ضد الشرائع، لذلك أسئلتي هي: كيف يمكنني الذهاب عن إرسال وثيقة لطباعة عبر الشبكة إلى كانون معين؟ نوع المدفع هو السؤال هو iR5570 والوثائق التي سيقال سيكون أساسا ورد وملفات بدف

أنا حاليا في طريقي من خلال الرهيب، إي فقط موقع كانون المطور، ولكن أنا كيندا أمل شخص يمكن أن يشير لي في الاتجاه الصحيح أو نقطة لي في التجمع 3rd الطرف :)




يجب أن يترجم شيء مستندات ورد و بدف إلى شيء تفهمه الطابعة. عادة هذا سيكون كلمة نفسه للالسابقة، ونوع من بدف المشاهد لهذا الأخير. ثم تحتاج هذه البرامج إلى تعليمات على أي طابعة لإرسال الإخراج إلى.

إحدى الطرق الممكنة للذهاب هي حفظ المستندات كملفات بوستسكريبت. ثم يمكن إرسالها إلى طابعة قادرة بوستسكريبت مباشرة من تطبيق C #. وربما كان ذلك هو أسهل طريقة للقيام بذلك.