Word मधील समान क्षैतिज टेबल पृष्ठासाठी, संपूर्ण लेखाचे अभिमुखता बदलू नका.
त्याच वर्ड डॉक्युमेंटमध्ये, फक्त टेबल पेज लँडस्केप ओरिएंटेशनमध्ये असावे. संपूर्ण लेख लँडस्केप अभिमुखतेमध्ये बदलू नका. हा लेख प्रथम सर्व विभाग तयार करतो, नंतर अनुक्रमणिकेद्वारे लक्ष्य विभाग पुनर्प्राप्त करतो, अनुक्रमे दिशा आणि पृष्ठ रुंदी आणि उंची सेट करतो, जतन करतो आणि पुन्हा वाचतो आणि इतर कोणत्याही विभागांमध्ये बदल केला गेला नाही याची पुष्टी करतो.
जेव्हा Word दस्तऐवजातील केवळ काही पृष्ठे लँडस्केप अभिमुखता असणे आवश्यक असते, तेव्हा सर्वात सामान्य चूक म्हणजे संपूर्ण दस्तऐवज थेट लँडस्केप अभिमुखतेमध्ये बदलणे किंवा सारणी फिरवणे आणि नंतर सामग्री क्रॉप करणे. हा लेख विकसक आणि दस्तऐवज संघांसाठी आहे ज्यांना वर्ड लेआउट स्वयंचलितपणे हाताळण्यासाठी python-docx वापरण्याची आवश्यकता आहे. हे फक्त लक्ष्य विभागाचे पृष्ठ अभिमुखता कसे बदलायचे ते स्पष्ट करते.
समजून घेण्याची गुरुकिल्ली म्हणजे पेज ब्रेक आणि सेक्शन ब्रेकमधील फरक ओळखणे. पृष्ठ ब्रेक केवळ रेषेच्या ब्रेकवर नियंत्रण ठेवतात आणि पृष्ठ अभिमुखता, कागदाचा आकार आणि समास घेऊन जात नाहीत; हे लेआउट गुणधर्म "विभाग" ला बांधील आहेत. हा लेख वाचल्यानंतर, तुम्ही प्रथम सर्व विभाग तयार करू शकता, त्यानंतर अनुक्रमे लक्ष्य विभाग काढू शकता, अनुक्रमे दिशा, रुंदी आणि उंची सेट करू शकता आणि इतर विभाग बदललेले नाहीत याची खात्री करण्यासाठी सेव्ह केल्यानंतर पुन्हा वाचू शकता. विभाग-संबंधित API तपशीलांसाठी, कृपया python-docx विभाग अधिकृत दस्तऐवजीकरण पहा.
एका वाक्यात निष्कर्ष: शब्द केवळ टेबलची पृष्ठे क्षैतिज बनवतो. ते कसे सेट करावे?
क्षैतिज असणे आवश्यक असलेल्या सामग्रीसाठी फक्त एक स्वतंत्र विभाग तयार करा, रुंदी आणि उंचीची अदलाबदल करा आणि या विभागावर दिशा सेट करा आणि इतर विभाग अनुलंब ठेवा.
| तुमची परिस्थिती | शिफारस केलेल्या पद्धती | कारण |
|---|---|---|
| लक्ष्य पृष्ठाच्या आधी आणि नंतर कोणतेही विभाग खंड नाहीत | विभाजित करण्यासाठी प्रथम add_section() वापरा, नंतर दिशा सेट करा | लेआउट विशेषता विभागांमध्ये संग्रहित आहेत. विभाग विभाजित केल्याशिवाय तुम्ही फक्त लक्ष्य पृष्ठ बदलू शकत नाही. |
| फक्त लँडस्केप सेट केले आहे परंतु रुंदी आणि उंची स्वॅप केलेली नाही | page_width आणि page_height एकाच वेळी स्वॅप करा | फक्त अभिमुखता बदलल्याने कागदाचा आकार चुकीचा होईल आणि PDF निर्यात करताना सामग्री क्रॉप केली जाऊ शकते. |
| लँडस्केप अभिमुखता सेट केल्यानंतर सारणी अद्याप कापलेली आहे | विभागाचे डावे आणि उजवे समास तपासा किंवा टेबलची रुंदी कमी करा | कोड तुमच्यासाठी फॉर्म आणि पेपरमधील जुळणारे संबंध निर्धारित करू शकत नाही. |
| दस्तऐवजात सतत विभाग खंडित आहेत आणि अभिमुखता असामान्य आहे. | पुढील पृष्ठ विभाग खंडात बदला आणि विभाग प्रकाराची व्यक्तिचलितपणे पुष्टी करा | पृष्ठ खंडित न करता सतत विभाग खंडित केल्याने सहज दृश्य गोंधळ होऊ शकतो. |
सेक्शन ब्रेक हे लेआउट विशेषतांचे खरे वाहक आहेत
OpenXML मानकामध्ये, <w:sectPr> घटक पृष्ठ लेआउट परिभाषित करतो. दस्तऐवजात अनेक विभाग असू शकतात, प्रत्येकाची स्वतःची रुंदी, उंची, अभिमुखता आणि समास. document.add_section() कॉल केल्यावर, वर्तमान दस्तऐवजाच्या शेवटी python-docx एक नवीन <w:sectPr> तयार करेल आणि त्यानंतर जोडलेली सामग्री या नवीन विभागातील असेल.
आपण परिच्छेद शैली किंवा सारणी गुणधर्म बदलून अभिमुखता बदलण्याचा प्रयत्न केल्यास, ते सहसा कार्य करत नाही कारण या ऑब्जेक्ट्समध्ये लेआउट माहिती संचयित करण्यासाठी फील्ड नाहीत.
ऑपरेशन लॉजिक: प्रथम विभागांमध्ये विभाजित करा, नंतर विभाग घ्या आणि शेवटी सेट करा
- क्षैतिज असणे आवश्यक असलेली सामग्री श्रेणी ठेवा.
- ही सामग्री वेगळ्या विभागात गुंडाळलेली असल्याची खात्री करा आणि आवश्यक असल्यास
add_section()वापरून विभाजित करा. - प्रथम सर्व विभाग तयार करा, आणि नंतर मूळ विभाग म्हणून सेक्शन जोडण्यापूर्वी जतन केलेल्या स्टब ऑब्जेक्टला चुकीचे वाटू नये म्हणून अनुक्रमणिकेनुसार लक्ष्य विभाग प्राप्त करा.
- या विभागासाठी
page_widthआणिpage_heightस्वॅप करा आणिorientationवरWD_ORIENT.LANDSCAPEसेट करा. - सेव्ह केल्यानंतर, फाइल पुन्हा वाचा आणि इतर विभागांची दिशा, रुंदी आणि उंची अपरिवर्तित आहे का ते तपासा.
लक्षात घ्या की रुंदी आणि उंचीची अदलाबदल न करता फक्त orientation सेट केल्याने, Word उघडेल तेव्हा चुकीचा पेपर आकार दर्शवेल. हा मुद्दा या लेखात वारंवार मांडला आहे.
स्वयंपूर्ण रचना उदाहरण
खालील कोड मेमरीमध्ये इनपुट तयार करतो. सर्व डेटा सिंथेटिक नमुने आहेत. चालू नोंदी केवळ API कॉल तर्क स्पष्ट करण्यासाठी वापरल्या जातात आणि सर्व वास्तविक फाइल्स किंवा उत्पादन प्रभावांची हमी दर्शवत नाहीत. अवलंबून लायब्ररी python-docx आहे. कृपया ते लॉक केलेल्या प्रकल्प वातावरणात चालवा. आवृत्तीने WD_ORIENT गणने (0.8.11 आणि वरील) समर्थित करणे आवश्यक आहे.
from docx import Document
from docx.enum.section import WD_ORIENT, WD_SECTION
from io import BytesIO
doc = Document()
doc.add_paragraph("Portrait intro")
doc.add_section(WD_SECTION.NEW_PAGE)
doc.add_paragraph("Landscape middle")
doc.add_section(WD_SECTION.NEW_PAGE)
doc.add_paragraph("Portrait end")
middle = doc.sections[1]
width, height = middle.page_width, middle.page_height
middle.orientation = WD_ORIENT.LANDSCAPE
middle.page_width, middle.page_height = max(width, height), min(width, height)
out = BytesIO()
doc.save(out)
out.seek(0)
restored = Document(out)
assert len(restored.sections) == 3
assert restored.sections[1].orientation == WD_ORIENT.LANDSCAPE
assert restored.sections[1].page_width > restored.sections[1].page_height
assert restored.sections[0].orientation == WD_ORIENT.PORTRAIT
assert restored.sections[2].orientation == WD_ORIENT.PORTRAIT
योग्य इनपुट परिस्थिती: दस्तऐवजात तीन विभाग आहेत, पहिला विभाग अनुलंब मजकूर आहे, दुसरा विभाग रुंद सारण्यांसह ठेवला आहे आणि तिसरा विभाग अनुलंब वर परत येतो. अपेक्षित परिणाम असा आहे की दुसऱ्या विभागात orientation हा LANDSCAPE आहे आणि page_width page_height पेक्षा मोठा आहे आणि उर्वरित दोन विभाग PORTRAIT राहिले आहेत.
सीमा इनपुट एक: फक्त एक विभाग असलेला दस्तऐवज. sections[0] वर क्षैतिज दिशा थेट सेट केल्याने संपूर्ण दस्तऐवज क्षैतिज होईल. सामग्री विभाजित करण्यासाठी तुम्ही प्रथम add_section() वर कॉल करा आणि नंतर नवीन व्युत्पन्न केलेले विभाग चालवा.
सीमा इनपुट दोन: लँडस्केप सेट केले आहे परंतु मूळ अनुलंब आकार राखून ठेवला आहे. कोडने page_width >= page_height प्रेडिकेट म्हणून सत्यापित केले पाहिजे.
📊 मुख्य तुलना: पेज ब्रेक आणि सेक्शन ब्रेक
| मार्ग | पानाची दिशा नेली जाऊ शकते का? | ठराविक उपयोग | लक्षात घेण्यासारख्या गोष्टी |
|---|---|---|---|
| पृष्ठ खंडित | करू शकत नाही | फक्त सामग्री रॅपिंग नियंत्रित करा | फक्त एक पृष्ठ लँडस्केप करण्यासाठी वापरले जाऊ शकत नाही |
| पुढील पृष्ठ विभाग खंडित | सक्षम | आंशिक लँडस्केप, मार्जिन स्विच करणे | आपल्याला विभागाची रुंदी, उंची आणि दिशा स्वतंत्रपणे सेट करण्याची आवश्यकता आहे. |
| सतत विभाग खंडित | सक्षम | त्याच पृष्ठामध्ये लेआउट स्विच करा | पृष्ठे बदलण्यात अयशस्वी झाल्यामुळे दृश्य गोंधळ होऊ शकतो आणि मॅन्युअल निर्णय आवश्यक आहे. |
🎯 तुमच्यासाठी कोणती पद्धत योग्य आहे?
जर तुम्ही...
- लक्ष्य पृष्ठाच्या आधी आणि नंतर कोणतेही विभाग खंड नाहीत: प्रथम विभाग विभाजित करा, आणि नंतर लक्ष्य विभागाची दिशा सेट करा.
- दस्तऐवजात फक्त एक विभाग आहे आणि फक्त अंशतः क्षैतिज असणे आवश्यक आहे: प्रथम
add_section()ला कॉल करा, थेटsections[0]मध्ये बदल करू नका. - लँडस्केप अभिमुखतेनंतर सारणी कापली: विभागाचे डावे आणि उजवे समास तपासा किंवा टेबलची रुंदी कमी करा.
- दस्तऐवजात सलग विभाग खंड आहेत: ते पुढील पृष्ठ विभाग खंडात बदलले जावे की नाही याचे मूल्यांकन करा आणि व्यक्तिचलितपणे पुष्टी करा.
- फाइल एन्क्रिप्शन, XML संरचनेचे नुकसान किंवा मॅक्रोद्वारे डायनॅमिकली व्युत्पन्न केलेले विभाग: मॅन्युअली दुरुस्त करा किंवा प्रथम स्वरूप रूपांतरित करा, या लेखातील कोड लागू होणार नाही.
❓ वारंवार विचारले जाणारे प्रश्न (FAQ)
1. परिच्छेद किंवा सारणी विशेषता सेट केल्यानंतर पृष्ठाची दिशा का बदलत नाही?
परिच्छेद आणि टेबल ऑब्जेक्ट्समध्ये लेआउट माहिती संग्रहित करण्यासाठी फील्ड नाहीत. पृष्ठाची दिशा विभाग विशेषताशी संबंधित आहे, म्हणून ते विभाग खंडाशी संबंधित विभागाद्वारे सेट करणे आवश्यक आहे.
२. फक्त LANDSCAPE वर अभिमुखता सेट करणे पुरेसे आहे का?
पुरेसे नाही तुम्हाला page_width आणि page_height ची देवाणघेवाण देखील करणे आवश्यक आहे, अन्यथा Word उघडल्यावर कागदाचा आकार चुकीचा प्रदर्शित केला जाईल आणि PDF निर्यात करताना सामग्री क्रॉप केली जाऊ शकते.
३. तुम्ही विभागांना क्षैतिज दिशा थेट का सेट करू शकत नाही[0]?
दस्तऐवजात एकच विभाग असल्यास, त्यात बदल केल्यास संपूर्ण दस्तऐवजावर परिणाम होईल. आंशिक ट्रान्सव्हर्सल प्रथम add_section() वापरून स्वतंत्र विभागांमध्ये विभाजित करणे आवश्यक आहे.
४. शीर्षलेख आणि तळटीप क्षैतिजरित्या चुकीचे संरेखित असल्यास मी काय करावे?
विभाग विशेषतांमधील बदल हेडर लिंक स्थितीवर परिणाम करत नाहीत. तुम्हाला हेडर आणि फूटरमधील अंतर सेटिंग्ज स्वतंत्रपणे तपासण्याची आवश्यकता आहे. हा एक स्वतंत्र मुद्दा आहे.
📝 सारांश
सारणीचे पृष्ठ क्षैतिज बनवण्याची गुरुकिल्ली म्हणजे लक्ष्य सामग्री एका वेगळ्या विभागात ठेवणे आणि त्याच वेळी रुंदी, उंची आणि अभिमुखता बदलणे. सेव्ह केल्यानंतर, पुन्हा वाचा आणि इतर विभाग तपासा. कोड पडताळणीनंतर, तुम्हाला Word किंवा PDF वर निर्यात केल्यानंतर उघड्या डोळ्यांनी प्रभावाची पुष्टी करणे आवश्यक आहे.
OmniDoc ला AI असिस्टंटशी कनेक्ट करा: एकाच वाक्यात Word, Excel आणि PPT व्युत्पन्न आणि सुधारित करा


