दिलचस्प पोस्ट
टेक्सबॉक्स के माध्यम से लूप जावास्क्रिप्ट में वृद्धि ("++") और कमी ("-") ऑपरेटरों से क्यों बचें? क्या HTML5 में अपना खुद का html टैग बनाने का एक तरीका है? एक कस्टम तुलनित्र का उपयोग करते हुए इनट की एक सरणी कैसे सॉर्ट करनी है? एक वृत्त का भाग निकालें "स्टैक अतिप्रवाह" कैसे होता है और आप इसे कैसे रोकते हैं? आईआईएस में यूआरएल पथ को कैसे पुनर्निर्देशित करना है? java.lang.UnsatisfiedLinkError: कोई rxtxSariial में java.library.path डेटटाइम को सम्मिलित करने की कोशिश करो। अब दिनांक / समय क्षेत्र में "डेटा प्रकार बेमेल" त्रुटि देता है मैं दो अलग एंड्रॉइड ऐप्स पर साझा की गई फ़ाइलों को साझा कैसे कर सकता / सकती हूं? उपयोगकर्ता नियंत्रण, कस्टम नियंत्रण और घटक के बीच अंतर क्या है? NSInvalidUnarchiveOperationException: वर्ग नामित NSLayoutConstraint इन्स्तांत नहीं किया जा सका मैं एक सामान्य विस्तार विधि के भीतर एक स्ट्रिंग स्तंभ नाम का उपयोग कर एक IQueryable पर ऑर्डरबी कैसे लागू कर सकता हूं? सी ++ फाइलस्ट्रीम (एफस्ट्रीम) का उपयोग करना, आप एक फ़ाइल के आकार का निर्धारण कैसे कर सकते हैं? जावास्क्रिप्ट का उपयोग करने के लिए मैं जेसनसन को बहुत प्रिंट कैसे कर सकता हूं?

PHP के लिए कोई पीडीएफ पार्सर है?

नमस्ते मुझे php (fpdf, dompdf, आदि) के लिए कई पीडीएफ जेनरेटर के बारे में पता है कि मैं क्या जानना चाहता हूं पार्सर के बारे में है

मेरे नियंत्रण से बाहर के कारणों के लिए, मुझे कुछ जानकारी केवल एक पीडीएफ के भीतर एक मेज में है और मुझे उस तालिका को निकालने और एक सरणी में कनवर्ट करने की आवश्यकता है।

कोई सुझाव?

वेब के समाधान से एकत्रित समाधान "PHP के लिए कोई पीडीएफ पार्सर है?"

मैंने एक से पहले (समान जरूरतों के लिए) लिखा है, और मैं यह कह सकता हूं: मज़े करना। यह काफी जटिल काम है पीडीएफ विनिर्देश बड़े और बोझल है इसमें इसके अंदर पाठ रखने के कई तरीके हैं और किकर यह है कि प्रत्येक पीडीएफ जनरेटर अलग-अलग तरीके से काम करता है। तो जब टीएफपीडीएफ या डीओएमपीडीएफ की तरह कुछ पीडीएफ पढ़ने के लिए बहुत आसान बनाता है (मशीन की दृष्टि से), एक्रोबैट कुछ सचमुच नारकीय दस्तावेजों को बनाता है।

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

यहां ऊपर की तरफ, यह है कि पीडीएफ फॉर्मेट वास्तव में सरल है। आपके पास "ऑब्जेक्ट्स" हैं जो नियमित सिंटैक्स का पालन करते हैं। तब आप सामग्री उत्पन्न करने के लिए उन्हें एक साथ लिंक कर सकते हैं। विनिर्देश फ़ाइल स्वरूप का वर्णन करने में एक अच्छा काम करता है। लेकिन असली दुनिया में पढ़ना थोड़ा सा मस्तिष्क शक्ति लेना है …

कुछ उपयोगी सलाह के टुकड़े को मुझे कठिन तरीके से सीखना होगा यदि आप इसे स्वयं लिखना चाहते हैं:

  1. एडोब फिर से मानचित्र फोंट पसंद करता है तो चरित्र 65 की संभावना A नहीं होगी … आपको एक नक्शा वस्तु खोजनी होगी और यह पता लगाना होगा कि इसमें कौन सी पात्र हैं, उसके आधार पर क्या किया जा रहा है। और यह तब से कुशल है जब एक फ़ॉन्ट उस फ़ॉन्ट के लिए दस्तावेज़ में प्रकट नहीं होता है, इसमें इसमें शामिल नहीं है (जो आपको प्रोग्राम को एक पीडीएफ संपादित करने की कोशिश करता है)।
  2. इसे संभव के रूप में सार के रूप में लिखें प्रत्येक ऑब्जेक्ट प्रकार के लिए कक्षाएं लिखें, और प्रत्येक मूल प्रकार (तार, संख्याएं, आदि)। उन वर्गों को आपके लिए पार्स करने दें। वहाँ एक दोहराव का एक अच्छा सा हो जाएगा, लेकिन आप अपने आप को अंत में बचा लेंगे जब आपको लगता है कि आपको केवल एक विशेष प्रकार के लिए कुछ बदलाव करने की जरूरत है …)
  3. एक विशिष्ट संस्करण या पीडीएफ युक्ति के दो लिखें, और इसे लागू करें संस्करण संख्या की जांच करें, और यदि आप उम्मीद से अधिक है, तो जमानत … और "इसे काम करने की" कोशिश न करें यदि आप नए संस्करणों का समर्थन करना चाहते हैं, विनिर्देश को तोड़ दें और पार्सर को वहां से अपग्रेड करें। परीक्षण करने की कोशिश मत करो और अपना रास्ता अप करें (यह मजेदार नहीं है) …
  4. संपीड़ित धाराओं के साथ अच्छे भाग्य मैंने पाया है कि आम तौर पर आप लंबाई तर्कों पर भरोसा नहीं कर सकते हैं ताकि आप असम्पीडिंग को सत्यापित कर सकें। कभी-कभी (कुछ जनरेटर के लिए) यह अच्छी तरह से काम करता है … अन्य यह एक या अधिक बाइट्स से बंद है। अगर मैं फ़िल्टर को मैच करता हूं और फिर लंबाई को बल देता हूं तो मैं इसे झुकाने की कोशिश करता हूं …
  5. जब परीक्षण की लंबाई, strlen उपयोग नहीं करते mb_strlen($string, '8bit') क्योंकि यह अलग-अलग वर्ण सेटों के लिए क्षतिपूर्ति करेगा (और अन्य वर्णों में संभावित अमान्य वर्णों की अनुमति देगा)।

अन्यथा, शुभकामनाएं …

मैं इसके लिए पीडीएफबॉक्स का उपयोग करता हूं ( http://pdfbox.apache.org/ )। यह सॉफ़्टवेयर javabased और मंच स्वतंत्र है यह तेज और विश्वसनीय काम करता है आप इसे exec या शेल निष्पादित या PHP / Java-Bridge ( http://php-java-bridge.sourceforge.net/ ) के माध्यम से उपयोग कर सकते हैं

क्या आपने पहले ही एक्सपीडीएफ को देखा है? वहाँ एक प्रोग्राम है जिसमें pdftotext कहा जाता है जो कि रूपांतरण करता है। आप इसे पीएचडी से कॉल कर सकते हैं और फिर पीडीएफ के टेक्स्ट संस्करण में पढ़ सकते हैं। आपको php से exec () या system () को चलाने की क्षमता की आवश्यकता होगी, इसलिए यह सभी मेजबानी समाधानों पर हालांकि काम नहीं करेगा।

इसके अलावा, PHP साइट पर कुछ उदाहरण हैं जो पाठ को पीडीएफ में परिवर्तित कर देंगे, हालांकि इसकी सुंदर अंगूर आप उन उदाहरणों में से कुछ के रूप में भी कोशिश कर सकते हैं उस PHP पेज पर , phuc dot org पर luc के लिए खोजें।

GhostScript या ITextSharp पर एक नज़र डालें, दोनों के विभिन्न क्रॉस-प्लेटफ़ॉर्म संस्करण हैं।

Zend_Pdf ज़ेंड फ़्रेमवर्क का हिस्सा है। उनका मैनुअल कहता है:

Zend_Pdf घटक एक पीडीएफ (पोर्टेबल दस्तावेज़ स्वरूप) हेरफेर इंजन है यह दस्तावेजों को लोड, बना, संशोधित और सहेज सकता है। इस प्रकार यह किसी भी PHP अनुप्रयोग को गतिशील रूप से मौजूदा दस्तावेजों को संशोधित करके या नए लोगों को खरोंच से उत्पन्न करके पीडीएफ दस्तावेज़ बनाकर सहायता कर सकता है।

यह वास्तव में पीडीएफ के अंदर एक मेज नहीं हो सकता है क्योंकि पीडीएफ इस प्रकार की जानकारी खो देता है …

यह PHP पीडीएफ़ पार्सर है, जो दो स्वादों में मौजूद है:

  1. पीडीएफ फॉर्मेट करने के लिए मुफ्त संस्करण पीडीएफ को पार्स कर सकते हैं
  2. वाणिज्यिक एड-ऑन किसी भी पीडीएफ प्रारूप को पार्स कर सकता है (वर्तमान 1.9 तक)