2012-08-04 14 views
6

मेरे पास एक मौजूदा स्विंग डेस्कटॉप एप्लिकेशन है जिसे मैं किसी वेब एप्लिकेशन में कनवर्ट करना चाहता हूं। ऐसा करने से रोकने वाली पहली बात यह है कि डेस्कटॉप एप्लिकेशन पीडीएफ फाइलों से लिखने और पढ़ने के साथ संबंधित है। इसके अलावा उपयोगकर्ता पीडीएफ फॉर्म भरता है जिसे आवेदन द्वारा पढ़ा जाना आवश्यक है।वेब एप्लिकेशन जो फाइलों से संबंधित है -उपलोड डाउनलोड

अब डेस्कटॉप एप्लिकेशन में एक सामान्य उपयोग केस जैसा है, उपयोगकर्ता लॉग इन पीडीएफ फॉर्म खोलता है और इसे भर देता है। स्विंग एप्लिकेशन प्रबंधित करता है जहां फ़ाइल संग्रहीत होती है, इसलिए यह फ़ाइल पर जाती है और फॉर्म को पढ़ती है, डेटा निकालती है और डेटा को डीबी में संग्रहीत करती है। उपयोगकर्ता एक ही रूप में फॉर्म भर नहीं सकता है। वह इसे बाद में वापस आ सकता है और जारी रख सकता है।

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

क्या मुझे ड्रॉपबॉक्स की तरह कुछ लागू करने की आवश्यकता होगी? यह जांचने के लिए लगातार एक छोटा डीमॉन चल रहा है कि कौन सी फाइल अपडेट की गई है और इसे सर्वर पर अपलोड करें? सर्वर से यह मुश्किल होगा क्योंकि मुझे नहीं पता कि फ़ाइल नवीनतम थी या नहीं। क्या ऐसा कुछ ऐसा है जो किसी ने पहले किया हो?

उत्तर

5

मेरे पास एक और सुझाव है: आप उपयोगकर्ता को उसी फ़ील्ड के साथ एक फॉर्म क्यों नहीं दिखाते हैं और उपयोगकर्ता द्वारा सबमिट किए जाने के बाद उन्हें पीडीएफ में स्थानांतरित नहीं करते हैं। इस प्रकार पीडीएफ सर्वर नहीं छोड़ता है और आप केवल न्यूनतम मात्रा में डेटा संचारित करते हैं।

+0

उत्तर के लिए धन्यवाद। लेकिन कृपया jowierun के तहत टिप्पणी देखें .. – sethu

3

एप्लिकेशन के वेब-संस्करण पर स्विच करने से आप कुछ चीजों को फिर से सोचने के लिए मजबूर कर सकते हैं। निश्चित रूप से ब्राउज़र जानबूझकर स्थानीय फाइल सिस्टम तक पहुंच में सीमित होते हैं जो आपके वर्तमान ऑपरेशन मोड के लिए एक बड़ी बाधा उत्पन्न करता है।

यहां तक ​​कि अगर आप एक ब्राउज़र के भीतर पीडीएफ प्रदर्शित संपादन के पूरा होने का पता लगाने और ब्राउज़र कोड के भीतर से सर्वर को यह वापस भेजने (जो शायद संभव है) हो सकता है, तो आप विभिन्न कर विभिन्न ब्राउज़रों के अधीन (अजीब हो जाएगा) जो कुछ भी पीडीएफ प्लगइन स्थापित है के साथ चीजें।

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

उम्मीद है कि वहां कुछ विकल्प हैं जो आपके लिए उपयोगी हैं।

+0

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

0

एडोब documents how to do this here। डिजाइन-दर-Google की शक्ति को कभी कम मत समझें। मुझे पता है कि इसे काम करने के लिए बनाया जा सकता है क्योंकि मैंने लाइन पर पीडीएफ फॉर्म का उपयोग किया है।

+0

पीडीएफ फॉर्म साधारण एफडीएफ निर्यात किए गए डेटा नहीं बल्कि बल्कि XFA http://partners.adobe.com/public/developer/xml/index_arch.html हैं जो बहुत अधिक हैं जटिल। मैं वास्तव में फॉर्म में हर फ़ील्ड को बदलकर अपने एचटीएमएल पेज पर फॉर्म फ़ील्ड नहीं चाहता हूं। यही कारण है कि फॉर्म पहले स्थान पर है। – sethu

0

मैंने कुछ साल पहले इसी तरह के मुद्दे पर काम किया था, हालांकि मैं हस्ताक्षरित रूपों से निपट नहीं रहा था। हस्ताक्षर निश्चित रूप से इसे थोड़ा और मुश्किल बनाता है। हालांकि, मैं फ़ील्ड के साथ पीडीएफ फॉर्म बनाने के लिए iText का उपयोग करने में सक्षम था, और केवल सर्वर डेटा को सर्वर पर सबमिट कर सकता था। ऑफहैंड, दुर्भाग्यवश मुझे याद नहीं है कि हमने वास्तव में क्या किया/कैसे किया, लेकिन यह पुष्टि कर सकता है कि यह करने योग्य है (सीमाएं/चेतावनी के साथ)।पूर्व: उपयोगकर्ता को पीडीएफ रीडर प्लगइन स्थापित करना पड़ा & उपयोगकर्ता को पीडीएफ को हर बार डी/एल करने के लिए मजबूर होना पड़ा।

मैं मूल रूप से क्या किया था (प्रपत्र मौजूदा प्रपत्र फ़ील्ड्स के साथ) iText का उपयोग एक पीडीएफ से एक FDF बनाने के लिए। एफडीएफ में सबमिट बटन वास्तव में फॉर्म डेटा को आपके चयन के यूआरएल में सबमिट करता है (HTML फॉर्म के विपरीत नहीं)। एक बार आपके पास यह डेटा हो जाने पर, मेरा मानना ​​है कि मैंने iText का उपयोग कर सर्वर पक्ष पर पीडीएफ के साथ फॉर्म फ़ील्ड्स (एफडीएफ से) विलय कर दिया है।

एक बार जब आप सर्वर का उपयोग/प्रक्रिया लॉकिंग सभी प्रपत्र डेटा, तुल्यकालन को बनाए रखने आप सुनिश्चित करने के लिए एक एकल उपयोगकर्ता नवीनतम और सबसे बड़ी प्रपत्र डेटा अपडेट कर रहा है कि आप पर निर्भर है का उपयोग करें।

jowierun के तहत आपकी टिप्पणी इंगित करता है कि आप के रूप में अच्छी शब्द/एक्सेल/आदि डॉक्स के साथ सौदा करना चाहते हैं, तो मैं पूरी तरह से यकीन है कि मैं अपनी आवश्यकताओं को समझने व्यक्ति हूं। आपकी शुरुआती पोस्ट ने स्थानीय रूप से पीडीएफ फॉर्म भरने की जरूरतों पर चर्चा की, लेकिन बाद में ऐसा लगता है कि आप इसके बजाय फाइल-शेयरिंग सिस्टम की तलाश में हैं।

क्या आप कृपया स्पष्ट कर सकते हैं कि आप क्या हासिल करने की कोशिश कर रहे हैं?

+0

अरे एरिक, आप सही हैं कि यह एक फ़ाइल साझाकरण प्रणाली होगी। लेकिन मैं पीडीएफ रूपों से अधिक चिंतित हूं। मेरा सर्वर इन पीडीएफ रूपों से पढ़/लिख देगा। मुद्दा यह है कि जब उपयोगकर्ता फॉर्म भरता है और मुझे सर्वर में फॉर्म से डेटा पढ़ने की आवश्यकता है, तो मुझे यह जानना होगा कि फ़ॉर्म नवीनतम फॉर्म है। मैं अपने उपयोगकर्ता से डाउनलोड-भरने-अपलोड चक्र के माध्यम से जाने के लिए नहीं कहूंगा जो काफी कठिन है। इसके बजाए यदि चक्र डाउनलोड-भर जाता है और फिर सर्वर जानता है कि इसे प्राप्त होने से पहले उपयोगकर्ता के सिस्टम से फॉर्म प्राप्त करने की आवश्यकता है, तो यह आदर्श होगा – sethu

+0

मैंने आपके उत्तर को अपडेट किया है जो मैंने आपके द्वारा किए गए कार्यों पर थोड़ा अतिरिक्त पृष्ठभूमि देने के लिए किया है। लेकिन आपकी आवश्यकता बहुत समझ में नहीं आता है। आप क्लाइंट पर सहेजे गए पीडीएफ को स्टोर करना चाहते हैं, और जब आपको इसकी आवश्यकता हो तो क्लाइंट से आपका सर्वर पीडीएफ पुनर्प्राप्त कर लेगा? यह लगभग अब एक पी 2 पी प्रणाली के रूप में लगता है। क्या होगा यदि ग्राहक ऑफ़लाइन है? या ग्राहक के एचडी दुर्घटनाओं, आदि? और अपलोड प्रक्रिया केवल फ़ील्ड डेटा अपलोड कर रही है, इसलिए "सेव" पर क्लिक करने से कहीं ज्यादा कठिन नहीं है। –

+0

पी 2 पी नहीं, बल्कि मैं सोच रहा था कि डेमॉन क्लाइंट की पृष्ठभूमि पर चल रहा है। यह जांच करेगा कि अगर कोई डाउनलोड की गई फ़ाइल संशोधित की गई है, तो यदि यह है, तो यह इसे सर्वर पर अपलोड कर देगा। और मैं उपयोगकर्ता से फॉर्म फ़ील्ड्स टाइप करने और इसे पीडीएफ के साथ मर्ज करने के लिए नहीं कह सकता, क्योंकि यह 100 से अधिक रूपों के रूप में कठिन है। ये फॉर्म एफडीएफ नहीं बल्कि एक्सएफए फॉर्म हैं। मैं सर्वर के साथ deamon संवाद कर सकता हूं, तो मुझे पता चलेगा कि ग्राहक लॉग ऑन करते समय deamon नहीं चल रहा था। – sethu

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