2012-12-18 9 views
6

एक छोटी सी पृष्ठभूमि: एक प्रोग्राम बनाना जो डेटाबेस इनपुट से रिपोर्ट और फॉर्म उत्पन्न करता है। मेरे पास सब कुछ है और ठीक है, लेकिन मुझे लगता है कि मैं अपने प्रिंटिंग मुद्दे को समझ नहीं पा रहा हूं। मैंने प्रिंटर पर प्रिंट करने के लिए कई तरीकों की कोशिश की है और मेरे कस्टम प्रोग्राम से प्रिंट किए जाने वाले प्रत्येक दस्तावेज़ पृष्ठ पर दाईं ओर थोड़ा सा केंद्र है।वीबी.नेट में प्रिंटर को प्रिंट करने के लिए पसंदीदा तरीका क्या है?

मैं समझता हूं कि यह प्रिंटर स्वयं ही है, लेकिन मैं इसके लिए कैसे समायोजित कर सकता हूं? प्रिंट पूर्वावलोकन में रिपोर्ट सही दिखती है। मुझे कुछ मार्गदर्शन की आवश्यकता है कि VB.NET में एकाधिक, विविध, प्रिंटर में कौन सी विधियां काम करेंगी। कोई भी मदद बहुत ही सराहनीय होगी।

उत्तर

1

बाउंडिंग बॉक्स के लिए e.pagebounds का उपयोग करने के बजाय, egraphics.VisibleClipBounds का उपयोग करने का प्रयास करें। कुछ प्रिंटर ड्राइवर e.pagebounds के साथ थोड़ा अविश्वसनीय हैं, और दृश्यक्लिबॉउंड अधिक सटीक लगते हैं।

उदाहरण के लिए:

Sub printPage(ByVal sender As Object, ByVal e As PrintPageEventArgs) 
Dim g As Graphics 
g = e.Graphics 
g.ResetTransform() 

g.VisibleClipBounds अब एक आयत है कि अधिकतम पृष्ठ आकार होना चाहिए, और पाठ या ग्राफिक्स केंद्रित के लिए इस्तेमाल किया जा सकता है। प्रिंटर को आउटपुट करने के लिए बस ग्राफ़िक्स ऑब्जेक्ट के रूप में जी का उपयोग करें। पेज के क्षैतिज केंद्र

g.VisibleClipBounds.Left + g.VisibleClipBounds.Width/2 
+0

आप कार्रवाई में इस का एक उदाहरण पोस्ट कर सके है। मैंने कोशिश की है और इसे सही ढंग से लागू नहीं कर सका। – FailHorse

+0

मैंने इसे जोड़ने के लिए उत्तर संपादित किया है। – xpda

संबंधित मुद्दे