2013-07-22 9 views
6

का उपयोग करके प्रिंटिंग एक साधारण पुन: प्रणाली के लिए मुझे किसी भी तरह से टेम्पलेट दस्तावेज़ को सरल स्वरूपण के साथ परिभाषित करने की आवश्यकता है, इसे डेटा से भरें और इसे मानक विंडोज प्रिंटर पर प्रिंट करें। इसे विंडोज़ सेवा पर काम करना है। मुझे किस तकनीक का सबसे अच्छा उपयोग करना चाहिए?टेम्पलेट

संपादित करें:

मैंने पीडीएफ-फॉर्म का उपयोग करने की कोशिश की। मैंने कुछ टेक्स्ट बॉक्स को परिभाषित किया और उन्हें iTextSharp के साथ भर दिया। यह उस बिंदु तक काम करता था जहां मुझे उन्हें प्रिंट करना था, जो वास्तव में कठिन है, क्योंकि आपको अनिवार्य रूप से पाठक निष्पादन योग्य का उपयोग करना होगा।

एक विकल्प जो .NET में बेहतर एकीकृत प्रतीत होता है, एक्सपीएस का उपयोग करना प्रतीत होता है। क्या एक्सपीएस एक समान कार्यक्षमता प्रदान करता है?

+3

एक सेवा से प्रिंटिंग वास्तव में एक बुरा विचार है। प्रिंटर ड्राइवर डेस्कटॉप ऐप्स के लिए बनाए गए थे। वे आपको बताएंगे कि टोनर कारतूस आधा खाली है और दूसरे को ऑर्डर करने के लिए कहां है। यदि यह किसी सेवा में होता है तो यह प्रिंट नहीं करेगा और आपको पता नहीं है कि क्यों। एक टेम्पलेट कुछ भी हो सकता है, एक बिटमैप करेगा।बहुत सारे और बहुत सारे रिपोर्ट जेनरेटर प्रोग्राम वहां भरने वाली रिक्त सुविधाओं के साथ, आपको अपने लिए खरीदारी करने की आवश्यकता होगी। –

+0

मैं एक जीवित रहने के लिए प्रिंटर ड्राइवर लिखता हूं, और मुझे हंस पासेंट से सहमत होना है। एक विंडोज़ सेवा से प्रिंटिंग लगभग एक अच्छा विचार नहीं है। – Jon

उत्तर

-1

हम ईपीएसओएन टीएम-इंटेलिजेंट श्रृंखला के प्रारूप का उपयोग करके समाप्त करते हैं।

1

कई तरीके हैं;

एक टेक्स्ट फ़ाइल बनाएं और कीवर्ड को उचित मूल्यों के साथ खोजें और बदलें। इसे सहेजें/प्रिंट करें।

एक HTML फ़ाइल बनाएं और उचित मूल्यों वाले कीवर्ड खोजें और बदलें। इसे सहेजें/प्रिंट करें।

अंतर्निहित फ़ील्ड के साथ एक पीडीएफ फाइल बनाएं और इन्हें उपयुक्त मानों से प्रतिस्थापित करें। इसे सहेजें/प्रिंट करें।

और अधिक ...

3

HTML या सादा पाठ का उपयोग कर अपनी खुद की रसीद टेम्पलेट बनाएँ।

उदाहरण एचटीएमएल का उपयोग कर:

एचटीएमएल

<html> 
    <head> 
    <title>Receipt</title> 
    </head> 
    <body> 
    <div>The price: <%Price%></div> 
    <div>The time: <%Time%></div> 
    <div>Payment Method: <%PaymentMethod%></div> 
    </body> 
</html> 

सी #

static void Main(string[] args) 
    { 
     CreateReceipt("€1.50", "09.30", "Cash"); 
    } 

    private static void CreateReceipt(string price, string time, string paymentMethod) 
    { 
     string bodyFile; 
     string template = System.IO.Directory.GetCurrentDirectory() + "\\template.html"; 
     using (StreamReader reader = new StreamReader(template)) 
     { 
      bodyFile = reader.ReadToEnd(); 
      bodyFile = bodyFile.Replace("<%Price%>", price); 
      bodyFile = bodyFile.Replace("<%Time%>", time); 
      bodyFile = bodyFile.Replace("<%PaymentMethod%>", paymentMethod); 
     } 
     FileStream fs = File.OpenWrite(System.IO.Directory.GetCurrentDirectory() + "\\receipt.html"); 
     StreamWriter writer = new StreamWriter(fs, Encoding.UTF8); 
     writer.Write(bodyFile); 
     writer.Close(); 
    } 
} 
+0

वैसे मैं वास्तव में वह सामान खुद लिखना नहीं चाहता हूं। इसके अलावा मैं इसे बाद में कैसे प्रिंट करूं? क्या रेजर जैसे कुछ का उपयोग करने का कोई तरीका है और फिर इसे प्रिंट करें? – Philippe

+0

संपादित देखें। विधि अब receipt.html नामक एक नई फ़ाइल बनाने के लिए template.html का उपयोग करेगी, जो भी पैरामीटर पास हो जाएंगे। मैं रेजर से परिचित नहीं हूँ। –

2

एचटीएमएल टेम्पलेट्स बनाने और उन्हें पॉप्युलेट करने के लिए Mustache का उपयोग करें।

.Net interfaces उपयोग करने में बहुत आसान हैं।

एक बार जब आप HTML प्राप्त कर लेंगे, you can use a WebBrowser control - ऑफस्क्रीन - प्रिंट करने के लिए।

1

आप की कोशिश कर सकते ActiveReports

Link to ComponentOne

यह मुक्त करने के लिए नहीं है .. लेकिन यह सामान मुद्रण के रूप में आप चाहते हैं के लिए काम करता है। बस टेम्पलेट बनाएं और उन्हें अपने कोड में एम्बेड करें।