Word бағдарламасындағы бірдей көлденең кесте беті үшін бүкіл мақаланың бағытын өзгертпеңіз.

Сол Word құжатында тек кесте беті альбомдық бағытта болуы керек. Бүкіл мақаланы ландшафттық бағдарға өзгертпеңіз. Бұл мақала алдымен барлық бөлімдерді жасайды, содан кейін мақсатты бөлімді индекс бойынша шығарып алады, сәйкесінше бағытты және бет енін және биіктігін орнатады, сақтайды және қайта оқиды және басқа бөлімдердің ешқайсысының өзгертілмегенін растайды.

Word құжатындағы белгілі бір беттер ғана альбомдық бағдар болуы қажет болғанда, ең жиі кездесетін қателік - бүкіл құжатты тікелей альбомдық бағдарға өзгерту немесе кестені айналдыру, содан кейін мазмұнды қиып алу. Бұл мақала Word орналасуын автоматты түрде өңдеу үшін python-docx пайдалануды қажет ететін әзірлеушілер мен құжат топтарына арналған. Ол мақсатты бөлімнің бет бағытын ғана өзгерту жолын түсіндіреді.

Түсінудің кілті - бет үзілімдері мен бөлім үзілімдерін ажырату. Бет үзілімдері тек жол үзілімдерін басқарады және бет бағытын, қағаз өлшемін және шеттерін тасымалдамайды; бұл орналасу сипаттары «бөлімдерге» байланысты. Осы мақаланы оқығаннан кейін сіз алдымен барлық бөлімдерді жасай аласыз, содан кейін мақсатты бөлімді индекс бойынша шығарып, тиісінше бағытты, енді және биіктікті орнатыңыз және басқа бөлімдердің өзгертілмегенін растау үшін сақтағаннан кейін қайта оқыңыз. Бөлімге қатысты API мәліметтерін python-docx бөлімдерінің ресми құжаттамасы бөлімінен қараңыз.

Бір сөйлеммен қорытынды: Word тек кесте беттерін көлденең етеді. Оны қалай орнатуға болады?

Көлденең болуы керек мазмұн үшін тек бөлек бөлім жасаңыз, ені мен биіктігін ауыстырыңыз және осы бөлімге бағытты орнатыңыз, ал қалған бөлімдерді тік ұстаңыз.

сіздің жағдайыңызҰсынылатын тәжірибелерсебебі
Мақсатты бетке дейін және кейін бөлім үзілімдері жоқБөлу үшін алдымен add_section() пайдаланыңыз, содан кейін бағытты орнатыңызОрналасу атрибуттары бөлімдерде сақталады. Бөлімдерді бөлмей тек мақсатты бетті өзгерте алмайсыз.
Тек LANDSCAPE орнатылған, бірақ ені мен биіктігі ауыстырылмайдыpage_width және page_height бір уақытта ауыстырыңызЖай ғана бағдарды өзгерту қате қағаз өлшеміне әкеліп соғады және PDF экспорттау кезінде мазмұн кесілуі мүмкін.
Альбомдық бағдарды орнатқаннан кейін кесте әлі де қысқартыладыБөлімнің сол және оң жақ шеттерін тексеріңіз немесе кесте енін азайтыңызКод сіз үшін пішін мен қағаз арасындағы сәйкес қатынасты анықтай алмайды.
Құжатта үзіліссіз бөлім үзілімдері бар және бағдарланбаған.Келесі бет бөлім үзіліміне ауысыңыз және бөлім түрін қолмен растаңызБет үзілімдерінсіз үзіліссіз үзілістер визуалды тәртіпсіздікті оңай тудыруы мүмкін.

Бөлім үзілімдері орналасу атрибуттарының нақты тасымалдаушысы болып табылады

OpenXML стандартында <w:sectPr> элементі бет орналасуын анықтайды. Құжат әрқайсысының ені, биіктігі, бағыты және шеттері бар бірнеше бөлімдерден тұруы мүмкін. document.add_section() шақырылғанда, python-docx ағымдағы құжаттың соңында жаңа <w:sectPr> жасайды және одан кейін қосылған мазмұн осы жаңа бөлімге жатады.

Абзац мәнерін немесе кесте сипаттарын өзгерту арқылы бағытты өзгертуге әрекеттенсеңіз, ол әдетте жұмыс істемейді, себебі бұл нысандарда орналасу ақпаратын сақтайтын өрістер жоқ.

Операция логикасы: алдымен бөлімдерге бөліңіз, содан кейін бөлімдерді алыңыз және соңында орнатыңыз

  1. Көлденең болуы керек мазмұн ауқымын орналастырыңыз.
  2. Бұл мазмұнның бөлек бөлімге оралғанын және қажет болса, add_section() арқылы бөлінгенін тексеріңіз.
  3. Алдымен барлық бөлімдерді жасаңыз, содан кейін бөлімді бастапқы бөлім ретінде қоспас бұрын сақталған түтік нысанды қателеспес үшін индекске сәйкес мақсатты бөлімді алыңыз.
  4. Осы бөлім үшін page_width және page_height ауыстырыңыз және orientation параметрін WD_ORIENT.LANDSCAPE етіп орнатыңыз.
  5. Сақтағаннан кейін файлды қайта оқып шығыңыз және басқа бөлімдердің бағыты, ені және биіктігі өзгеріссіз қалуын тексеріңіз.

Ені мен биіктігін ауыстырмай тек 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 екінші бөлімдегі ландшафт, ал page_width page_height мәнінен үлкен, ал қалған екі бөлім PORTRAIT болып қалады.

Бірінші шекаралық кіріс: тек бір бөлімі бар құжат. Көлденең бағытты тікелей sections[0] етіп орнату құжаттың толық көлденең болуына әкеледі. Мазмұнды бөлу үшін алдымен add_section() қызметіне қоңырау шалу керек, содан кейін жаңадан жасалған бөлімдерді басқару керек.

Екінші шекаралық кіріс: LANDSCAPE орнатылды, бірақ бастапқы тік өлшем сақталады. Код предикат ретінде page_width >= page_height растауы керек.

📊 Негізгі салыстыру: бет үзілімдері мен бөлім үзілімдері

ЖолБет бағытын тасымалдауға болады ма?Әдеттегі қолдануларНазар аударатын нәрселер
Бет үзілімімүмкін емесТек мазмұнды орауды басқарыңызТек бір бет пейзажын жасау үшін пайдаланылмайды
Келесі бет бөлім үзіліміқабілеттіЖартылай ландшафт, ауысу шеттеріБөлімнің енін, биіктігін және бағытын бөлек орнату керек.
үзіліссіз үзілісқабілеттіБір беттегі орналасуларды ауыстырыңызБеттерді өзгертпеу визуалды шатасуды тудыруы мүмкін және қолмен бағалауды қажет етеді.

🎯 Сізге қай әдіс қолайлы?

егер сіз……

  • Мақсатты бетке дейін және одан кейін бөлім үзілімдері жоқ: алдымен бөлімдерді бөліңіз, содан кейін мақсатты бөлімнің бағытын орнатыңыз.
  • Құжат бір ғана бөлімнен тұрады және тек ішінара көлденең болуы керек: Алдымен add_section()-ге қоңырау шалыңыз, sections[0]-ді тікелей өзгертпеңіз.
  • Кесте альбомдық бағдардан кейін қысқартылды: Бөлімнің сол және оң жақ шеттерін тексеріңіз немесе кесте енін азайтыңыз.
  • Құжатта дәйекті бөлім үзілімдері бар: оны келесі бет бөлім үзіліміне өзгерту керектігін бағалаңыз және қолмен растаңыз.
  • Файлды шифрлау, XML құрылымының зақымдалуы немесе макростар арқылы динамикалық түрде жасалған бөлімдер: Алдымен пішімді қолмен жөндеңіз немесе түрлендіріңіз, осы мақаладағы код қолданылмайды.

❓ Жиі қойылатын сұрақтар (ЖҚС)

1. Неліктен абзац немесе кесте қасиеттерін орнатқаннан кейін бет бағыты өзгермейді?

Абзац пен кесте нысандарында орналасу ақпаратын сақтау үшін өрістер жоқ. Бет бағыты бөлім атрибутына жатады, сондықтан оны бөлім үзіліміне сәйкес бөлім арқылы орнату қажет.

2. LANDSCAPE үшін бағдарды орнату жеткілікті ме?

жеткіліксіз. Сондай-ақ page_width және page_height алмасуыңыз қажет, әйтпесе Word ашылған кезде қағаз өлшемі дұрыс көрсетілмейді және PDF экспорттау кезінде мазмұн кесілуі мүмкін.

3. Неліктен көлденең бағытты бөлімдерге тікелей орнатуға болмайды[0]?

Құжатта тек бір бөлім болса, оны өзгерту бүкіл құжатқа әсер етеді. Ішінара көлденең бөлікті алдымен add_section() көмегімен тәуелсіз бөлімдерге бөлу керек.

4. Үстіңгі деректеме мен төменгі деректеме көлденеңінен қате тураланған болса, не істеуім керек?

Бөлім атрибуттарындағы өзгерістер тақырып сілтемесінің күйіне әсер етпейді. Үстіңгі деректеме мен төменгі деректеме арасындағы қашықтық параметрлерін бөлек тексеру керек. Бұл тәуелсіз мәселе.

📝 Түйіндеме

Кесте бетін тек көлденең етудің кілті мақсатты мазмұнды бөлек бөлімге қою және енін, биіктігін және бағдарын бір уақытта ауыстыру болып табылады. Сақтағаннан кейін басқа бөлімдерді қайта оқып, тексеріңіз. Кодты тексеруден кейін Word немесе PDF форматына экспорттағаннан кейін әсерді жалаңаш көзбен растау керек.

OmniDoc-ті AI көмекшісіне қосыңыз: Word, Excel және PPT файлдарын бір сөйлемде жасаңыз және өзгертіңіз

Жаңартылған 2026-11-15