2011-12-21 6 views
14

मैं डेस्कटॉप व्यापार ऐप्स की एक श्रृंखला की सभी रिपोर्ट सीधे HTML पर बनाने पर विचार कर रहा हूं। अधिकांश रिपोर्ट टेबल (शायद कंपाउंड रिपोर्ट), हेडर, पाद लेख इत्यादि हैं (कोई छवियां, वेक्टर ग्राफिक्स इत्यादि)।प्रिंटिंग के लिए रिपोर्ट जेनरेट करने के संबंध में अब HTML + CSS कितना परिपक्व है?

एसओ में एक खोज के बाद, मैंने पेज ब्रेक के साथ समस्याओं के बारे में बहुत सी पोस्ट पढ़ी हैं और ऐसी चीजें हैं (मुझे पिक्सेल पोजीशनिंग की बिल्कुल आवश्यकता नहीं है, लेकिन पेज ब्रेक पर हाँ नियंत्रण)।

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

कौन सी तकनीकें मेरी मदद कर सकती हैं?

  • एचटीएमएल 5
  • जावास्क्रिप्ट
  • सीएसएस
  • पीएचपी librarys
  • JQuery

कुछ नोट:

  • एचटीएमएल क्रोम या फ़ायरफ़ॉक्स इंजन के साथ प्रदर्शित किया जाएगा एम बिस्तर पर, इसलिए ब्राउज़र के बीच दुविधाएं यह मेरे लिए कोई समस्या नहीं है।
  • यदि मेरे पास रिपोर्ट को और आसानी से उत्पन्न करने में मदद मिलती है तो मैं php प्रीप्रोसेसर एम्बेडेड कर सकता हूं, मैं सिर्फ काम को अच्छी तरह से बनाने के लिए हाथ में सबसे अच्छी तकनीक ढूंढ रहा हूं ..
  • मैं रिपोर्ट जेनरेटर से थक गया हूं " WYSIWYG "डिजाइनर (क्रिस्टल रिपोर्ट, फास्ट रिपोर्ट, रिपोर्टबिल्डर, आदि)

धन्यवाद!

+0

मैं कहूंगा कि आपकी मुख्य समस्या एचटीएमएल + सीएसएस को एक निर्बाध माध्यम के रूप में, पृष्ठ प्रकार/ऊंचाइयों को ठीक से तोड़ने के लिए जागरूक होने के नाते, ... – jondavidjohn

+3

यदि आप HTML की परिपक्वता के बारे में कोई प्रश्न पूछ रहे हैं, तो आप इस बिंदु पर एचटीएमएल 5 के बारे में बात करना टालना चाहते हैं ... :) – BoltClock

+0

हां, कृपया ध्यान दें कि मैं मानता हूं कि मुझे HTML और वेब प्रौद्योगिकियों (जावास्क्रिप्ट, एचटीएमएल 5, सीएसएस, आदि) के साथ बहुत अधिक अनुभव नहीं है लेकिन हाँ डेस्कटॉप के साथ अनुप्रयोग, डेटाबेस, व्यापार तर्क, लेखांकन, आदि –

उत्तर

8

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

जहां हम महान हैं, लेकिन यहां पहुंचना मुश्किल था।

निर्णय लेना जो उपयोग करने के लिए पीडीएफ इंजन एक लंबे, दर्दनाक प्रक्रिया थी। इसका संक्षेप यह है कि एचटीएमएल इंटरनेट पर पृष्ठों को देखने के लिए है, कागज पर पृष्ठों को देखने के लिए नहीं। पेज-ब्रेक इस खेल में आपके अस्तित्व का झुकाव होगा - आपको सचमुच प्रत्येक पृष्ठ को मापना होगा और प्रत्येक रिपोर्ट के लिए अपने स्वयं के साफ दिखने वाले ब्रेक बनाना होगा (अन्यथा, सभी एचटीएमएल-टू-पीडीएफ कनवर्टर्स केवल वहां रखेंगे दस्तावेज को अगले पृष्ठ पर प्रस्तुत करना, क्योंकि अगर कोई पृष्ठ-ब्रेक नहीं हुआ तो)। इस मामले को और जटिल बनाना यह है कि प्रत्येक एचटीएमएल-टू-पीडीएफ इंजन इस sh * टी को अलग-अलग संभालता है और आपको यह देखने के लिए एक अनुरूप समाधान लिखना होगा कि यह आपकी व्यक्तिगत जरूरतों को पूरा करता है या नहीं।

अब, अच्छी खबर यह है:

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

और सबसे अच्छी बात यह एक कमांड लाइन उपकरण है जो बैच प्रोसेसिंग में इस्तेमाल किया जा सकता है। और मैंने उल्लेख किया कि यह वास्तव में वास्तव में तेज़ है?

+0

[wkhtmltopdf प्रोजेक्ट में एक नया यूआरएल है।] (Http://wkhtmltopdf.org/) – Pointy

6

मुद्रण के लिए ब्राउज़र समर्थन आम तौर पर भयानक है। हालांकि, अन्य उपकरण हैं, विशेष रूप से Prince (जो मुफ़्त नहीं है) और Flying Saucer (जो मुफ्त) है जो एक्सएमएल/एचटीएमएल प्लस सीएसएस से पीडीएफ आउटपुट उत्पन्न कर सकता है। प्रिंस जावास्क्रिप्ट का भी समर्थन करता है हालांकि मुझे इसके साथ कोई अनुभव नहीं है।

मुझे अपने वर्तमान एप्लिकेशन में जावा बैक एंड मिला है, इसलिए मेरे लिए फ्लाइंग सॉसर सरल रिपोर्ट के लिए ठीक काम करता है। मैं फ्रीमैकर के साथ एक HTML टेम्पलेट को प्री-प्रोसेस करता हूं और फिर फ्लाइंग सॉसर के माध्यम से परिणाम चलाता हूं। यह एक आश्चर्यजनक स्मार्ट रेंडरिंग इंजन मिला है।

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

+1

बहुत अच्छा जवाब। एचटीएमएल और सीएसएस खराब नहीं हैं। यह सब कुछ विशिष्ट कार्यान्वयन के बारे में है। –

0

प्रिंस की बात करते हुए, आप डॉक्रैप्टर को देख सकते हैं। DocRaptor एक और HTML to PDF conversion आवेदन है। यह प्रिंस एक्सएमएल का उपयोग करता है, और तुलनात्मक कार्यक्रमों की तुलना में सीएसएस को बेहतर तरीके से संभालता है।

यह मुफ़्त नहीं है, लेकिन सभी खातों के लिए निशुल्क 30 दिन का परीक्षण प्रदान करता है, इसलिए कम से कम इसे आजमाने में कोई हानि नहीं है।

DocRaptor

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