Skip to content

Troubleshooting hi

Hammad Maqbool edited this page Oct 29, 2026 · 1 revision

English · 简体中文 · 繁體中文 · Español · العربية · Français · Português (Brasil) · Deutsch · हिन्दी · 日本語 · 한국어 · Русский · Bahasa Indonesia · Türkçe · Italiano · Tiếng Việt

docxi समस्या निवारण: इंस्टॉलेशन एरर, रनटाइम एरर और खराब आउटपुट

नीचे अपना लक्षण ढूंढें। पुराने ऐप्स की ज़्यादातर समस्याएं docxi 0.0.x से आती हैं, और 0.1.0 पर अपग्रेड करने से ये बिना कोड बदले ठीक हो जाती हैं।

इंस्टॉलेशन

Rails 6+ ऐप में Bundler को nokogiri के संगत वर्शन नहीं मिलते। docxi 0.0.6 nokogiri < 1.7 पर पिन है, जबकि 6.0 के बाद का हर Rails, nokogiri 1.8.5 या नया मांगता है। gem "docxi", "~> 0.1" इस्तेमाल करें।

Bundler को rubyzip के संगत वर्शन नहीं मिलते। docxi 0.0.6 rubyzip ~> 0.9.9 पर पिन है, जो नए rubyzip की ज़रूरत वाले किसी भी gem से टकराता है। docxi 0.1.0, rubyzip 1.3 से 3.x तक स्वीकार करता है।

Bundler बार-बार 0.0.6 ही इंस्टॉल करता है। या तो Gemfile में docxi किसी 0.0.x वर्ज़न पर तय है, जैसे "~> 0.0.6", या Ruby 2.5 से पुराना है, जबकि 0.1.0 को 2.5 चाहिए। Gemfile की लाइन को gem "docxi", "~> 0.1" में बदलें और ruby -v जांचें।

nokogiri कंपाइल नहीं होता। आपके प्लेटफ़ॉर्म से मेल खाने वाला कोई प्रीकंपाइल्ड nokogiri gem नहीं है, इसलिए यह सोर्स से बन रहा है। C कंपाइलर इंस्टॉल करें और nokogiri इंस्टॉलेशन गाइड का पालन करें।

डॉक्यूमेंट बनाते समय एरर

Rails के बाहर NoMethodError: undefined method 'present?'। docxi 0.0.6 मानकर चलता था कि ActiveSupport लोड है। 0.1.0 को इसकी ज़रूरत नहीं है।

tab, frame या हेडर का page_numbers कॉल करने पर NameError। ये 0.0.6 में टूटे हुए थे और 0.1.0 में काम करते हैं, document.frame("text") समेत।

इमेज जोड़ते समय Errno::ENOENT। वह पाथ उस डायरेक्टरी के हिसाब से मौजूद नहीं है जिसमें आपका प्रोग्राम चलता है। docxi 0.0.6 के साथ Ruby 3 पर इमेज URL भी इसी तरह फ़ेल होते हैं, क्योंकि 0.0.6 Kernel#open इस्तेमाल करता था। 0.1.0, URL को URI#open से डाउनलोड करता है।

ऐसे डॉक्यूमेंट जो सही नहीं दिखते

Google Docs या LibreOffice फ़ाइल नहीं खोलते। rubyzip 3 के साथ docxi 0.0.6 हर एंट्री में Zip64 रिकॉर्ड लिखता है, और ये प्रोग्राम उन्हें अस्वीकार कर देते हैं। 0.1.0 बिना इन रिकॉर्ड के आर्काइव लिखता है।

पहले पेज पर हेडर या फ़ुटर नहीं है। docxi पहले पेज को उसका अपना हेडर और फ़ुटर देता है। इन्हें add_first_header और add_first_footer से सेट करें। कॉन्फ़िगरेशन देखें।

कोई मार्जिन गायब है, या पेज लेआउट गलत दिखता है। मार्जिन सेट करते समय top, right, bottom और left एक साथ दें। जो छूट जाते हैं, वे खाली लिखे जाते हैं।

टेक्स्ट रन के बीच के स्पेस गायब हो जाते हैं। Word किसी रन की शुरुआत या आखिर के स्पेस हटा देता है। उस text कॉल में space: true जोड़ें।

हेडर, टेबल सेल या pH/pV वाली इमेज बहुत छोटी या चौकोर हैं। 0.1.0 में ज्ञात समस्या: इनका साइज़ दोनों आयामों के लिए width * height * 14.92 EMU के रूप में निकाला जाता है। style: से साइज़ की गई इनलाइन इमेज इस्तेमाल करें, या बेहतरीन तरीके में दिया वैकल्पिक उपाय देखें।

एक ही डॉक्यूमेंट को दूसरी बार रेंडर करने पर इमेज गायब है। खुले हुए File या किसी दूसरे IO से जोड़ी गई इमेज render के दौरान पढ़ी जाती हैं, और दूसरी बार रेंडर करने पर खाली स्ट्रीम पढ़ी जाती है। इसकी जगह पाथ दें, या एक ही बार रेंडर करें।

table पर सेट किए गए बॉर्डर हर सेल के चारों ओर दिखते हैं। ज्ञात समस्या: टेबल स्तर के borders: टेबल के बाहरी किनारों की जगह हर सेल पर लागू होते हैं। सिर्फ़ बाहरी किनारा बनाने के लिए, किनारे वाले सेल पर सिर्फ़ उनकी बाहरी तरफ़ के लिए borders: सेट करें।

टेबल सेल के पेज नंबर "GlobalOptions" से शुरू होते हैं। TableCell#page_numbers में ज्ञात समस्या। पेज नंबर इसकी जगह फ़ुटर या हेडर में रखें।

JPEG या GIF इमेज गलत दिखती है या दिखती ही नहीं। हर इमेज, असली फ़ॉर्मैट चाहे जो हो, PNG कंटेंट टाइप वाले PNG पार्ट के रूप में स्टोर होती है, इसलिए कुछ प्रोग्राम दूसरे फ़ॉर्मैट शायद न दिखाएं। इमेज जोड़ने से पहले उन्हें PNG में बदल लें।

बनी हुई फ़ाइल की जांच

.docx एक zip आर्काइव है, इसलिए आप इसके अंदर देख सकते हैं:

unzip -l report.docx
unzip -p report.docx word/document.xml

अगर समस्या बनी रहे, तो issue खोलें, जिसमें समस्या दोहराने वाली छोटी स्क्रिप्ट और Ruby, docxi, nokogiri और rubyzip के वर्शन हों।

संबंधित पेज


← विकी होम · README

Clone this wiki locally