Repository navigation
Best Practices 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::Document.newको दिया गया hash डिफ़ॉल्ट की जगह ले लेता है, औरtop,right,bottomऔरleftमें से जो भी छूट जाए, वह खाली लिखा जाता है। -
पहले पेज का हेडर और फ़ुटर सेट करें। docxi हमेशा अलग पहला पेज चालू रखता है। अगर पेज 1 पर हेडर या फ़ुटर चाहिए, तो
add_first_headerऔरadd_first_footerभी कॉल करें।
-
शुरुआत या आखिर के स्पेस के लिए
space: trueइस्तेमाल करें। नहीं तो Word उन्हें हटा देता है और दो रन के शब्द आपस में सट जाते हैं। -
साझा फ़ॉर्मैटिंग पैराग्राफ पर रखें।
pको दिए गए विकल्प, जैसेsize:याfont:, उसके अंदर के हर रन पर लागू होते हैं, इसलिए कम दोहराना पड़ता है। -
लाइन ब्रेक के लिए
p.brऔर पेज ब्रेक के लिएdocument.br(page: true)इस्तेमाल करें।page: trueके बिनाdocument.brअमान्य XML बनाता है।
-
बॉर्डर पंक्तियों या सेल पर सेट करें, टेबल पर नहीं। 0.1.0 में टेबल स्तर के
borders:टेबल के बाहरी किनारों की जगह हर सेल पर लागू होते हैं। -
हर कॉलम के लिए
columns_widthदें। सेल अपनी चौड़ाई इसी से लेते हैं, इसलिए टेबल का लेआउट वैसा ही रहता है जैसा आप चाहते हैं।
- PNG फ़ाइलें इस्तेमाल करें। हर इमेज PNG पार्ट के रूप में स्टोर होती है।
-
इनलाइन इमेज का साइज़
style:से सेट करें, जैसेstyle: { width: "120pt", height: "60pt" }। 0.1.0 में यही एक इमेज साइज़ है जो उम्मीद के मुताबिक काम करता है। -
अगर डॉक्यूमेंट एक से ज़्यादा बार रेंडर हो सकता है, तो खुले
Fileकी जगह पाथ दें। IO इमेजrenderके दौरान पढ़ी जाती हैं, और दूसरी बार रेंडर करने पर खाली इमेज मिलती है। -
0.2.0 तक हेडर, टेबल सेल और पोज़िशन की गई इमेज। इनकी चौड़ाई और ऊंचाई दोनों
width * height * 14.92EMU के रूप में निकाली जाती हैं, इसलिए ये चौकोर बनती हैं।Sइंच की चौकोर इमेज के लिएwidthऔरheightदोनों कोMath.sqrt(S * 914400 / 14.92).roundके बराबर रखें, जो एक इंच के लिए लगभग 248 होता है।
-
add_mediaको अविश्वसनीय स्ट्रिंग न दें। पाथ देने पर docxi आपके सर्वर से वह फ़ाइल पढ़ता है, और URL देने पर आपका सर्वर उसे डाउनलोड करता है। अपना खोला हुआ IO दें, या पहले मान की जांच करें। सुरक्षा देखें। -
टेक्स्ट अपने-आप एस्केप होता है।
textको दी गई स्ट्रिंग XML टेक्स्ट के रूप में लिखी जाती हैं, इसलिए यूज़र इनपुट डॉक्यूमेंट का ढांचा नहीं बदल सकता।
-
बड़े डॉक्यूमेंट बैकग्राउंड जॉब में बनाएं।
renderकॉल करने पर पूरा डॉक्यूमेंट मेमोरी में बनता है। इंटीग्रेशन देखें। -
एक बार रेंडर करें, फिर बाइट दोबारा इस्तेमाल करें। अगर डॉक्यूमेंट एक से ज़्यादा बार भेजना या स्टोर करना है, तो
word.render.stringको रख लें। -
संगत वर्शन पिन करें,
gem "docxi", "~> 0.1"के साथ। -
जो बनाते हैं, उसे टेस्ट करें।
.docxXML फ़ाइलों का zip है, इसलिए टेस्ट इसे अनज़िप करके XML जांच सकते हैं। docxi के अपने टेस्ट इसी तरह काम करते हैं। आर्किटेक्चर देखें।
docxi wiki · README · Installation · Troubleshooting · Report an issue · MIT License
Start
Build documents
Help
Project
Links
Languages