मैंने हाल ही में सिल्वरलाइट 4 में रिपोर्ट जेनरेट करने का प्रयास किया है। मेरी समस्या डोमेन में, इन रिपोर्टों को या तो सीधे प्रिंटर और/या क्लाइंट पर जाने की आवश्यकता है -साइड एसएल अनुप्रयोग एक पीडीएफ बनाता है और उपयोगकर्ता को इसे कहीं स्टोर करने की अनुमति देता है।सिल्वरलाइट में रिपोर्ट बनाना (या तो पीडीएफ के रूप में या इसे प्रिंटर पर भेजना)
रिपोर्ट के लिए, यह लगभग 50% प्रवाह पाठ (सहित समीकरण), 30% तालिकाओं और 20% चार्ट से बना है। प्रवाह पाठ भाग इसे थोड़ा अधिक चुनौतीपूर्ण बनाता है, क्योंकि उचित लाइन तोड़ना होगा।
अब तक, मैं निम्नलिखित दृष्टिकोण की कोशिश की है - कि उन्हें इतना संभव नहीं बनाने के लिए अपने स्वयं के कमियों के साथ प्रत्येक:
सिल्वरलाइट की अपनी
PrintDocument
: तकनीकी रूप से इसकी दो प्रमुख चिंताएं हैं। एक के लिए, काम करने के लिए पेज ब्रेक प्राप्त करना और उचित लेआउट के साथ यूआईएलमेंट्स प्रिंट करना एक गंदे हैकबॉज का थोड़ा सा है और समझौता से भरा है; शुक्र है कि वह हिस्सा है जिसे मैंने अभी तक काम करने में कामयाब रहा है। हालांकि,PrintDocument
कक्षा हमेशा उन्हें भेजने से पहले सभी दृश्यों को बिटमैप्स के रूप में प्रस्तुत करती है; यह बहुत मजेदार नहीं है, अगर कोई पीडीएफ प्रिंटर का उपयोग करता है और उम्मीद करता है कि अभी भी टेक्स्ट में खोज/चयन करने में सक्षम होना चाहिए। "सिल्वरलाइट और परे" में डेविड पोल का दृष्टिकोण [1] सहायक नहीं था और साथ ही यह मूल रूप से एक ही दृष्टिकोण का पालन करता है और इस तरह बहुत ही समान मुद्दों से ग्रस्त है।silverPDF [2]: एक साधारण रूप से प्रलेखित लाइब्रेरी जिसे मैन्युअल रूप से अधिकांश लेआउट करने की आवश्यकता होती है (कम से कम दृष्टिकोण ने मुझे सिल्वरलाइट के लेआउट इंजन का पुन: उपयोग करने की अनुमति दी)। अब तक, मुझे पैराग्राफ मापने के लिए (उदाहरण के लिए) कोई रास्ता नहीं दिखता है और लंबे प्रवाह के साथ एकमात्र नमूना लेआउट आयताकारों के लिए हार्डकोडेड पूर्ण मानों का उपयोग करता है। इसके अलावा, विकासशील पार्टी निष्क्रिय होने लगती है।
व्यक्तिगत रूप से, अब मैं पूरी तरह से अलग रणनीति का पालन करने के बारे में सोच रहा हूं: बस HTML दस्तावेज़ जेनरेट करें। लेकिन मैं उम्मीद कर रहा था कि यहां समुदाय के ऊपर दो दृष्टिकोणों के लिए संकेत हो सकते हैं या अन्य अच्छे दृष्टिकोणों को जान सकते हैं।
अग्रिम धन्यवाद, ~ मैनी
मुझे सिल्वरलाइट रिपोर्टिंग की दिशा में इंगित करने के लिए धन्यवाद। मैं यह देखने की कोशिश करूंगा कि यह मुझे कितना दूर कर सकता है :-) मैं एक या दो दिन में वापस देखूंगा। "क्लाइंट साइड पर प्रिंटिंग" चीज कुछ हद तक कठिन है, लेकिन पत्थर, आवश्यकता में पूरी तरह से नक्काशीदार नहीं है। – Manny
कोई चिंता नहीं मैनी। यह देखने के लिए तत्पर हैं कि यह कैसा चल रहा है। –
वास्तव में, परिस्थितियों पर विचार करते हुए, सिल्वरलाइट रिपोर्टिंग काफी अच्छी तरह से चला गया। लेकिन दिन के अंत में, एसएल 4 की प्रिंटिंग क्षमताओं (या इसकी कमी) अभी भी मध्यम औसत परिणाम (rastarized, आदि) उत्पन्न करते हैं। हम संभवतः एक विकल्प खोजने की कोशिश करेंगे (या तो एक अलग प्रारूप जैसे एचटीएमएल या इसे एक अलग, अधिक सक्षम वातावरण में उत्पन्न करें) हालांकि, यदि समय परमिट है। – Manny