2017-08-22 8 views
10

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

आउटपुट दस्तावेज़ को स्वचालित रूप से आउटपुट दस्तावेज़ में वर्तनी त्रुटियों को प्रदर्शित/पहचानने का कोई तरीका है? मैंने "नो_प्रूफ" ध्वज के साथ खेला है लेकिन यह मदद नहीं करता है। (64 बिट पायथन 3.4 का उपयोग करना, विंडोज बॉक्स पर डॉक्स 8.6, वर्ड 2013 में ओपनिंग आउटपुट)

किसी भी विचार के लिए धन्यवाद!

कोड पुन: पेश करने: वर्ड में

from docx import Document 
document = Document() 
paragraph = document.add_paragraph('This has a spellling errror') 
document.save(r'SpellingTester.docx') 

आउटपुट:

उत्तर

4

मैं document.settings उद्देश्य यह है कि यह दस्तावेज़ के lxml नोड तत्व लपेटकर का उपयोग कर की कोशिश करेंगे। जैसा कि आप प्रलेखन से देख सकते हैं वहां hideSpellingErrors विशेषता है।

Python DOCX Settings

<xsd:element name="hideSpellingErrors" type="CT_OnOff" minOccurs="0"/> 

संपादित करें: थोड़ा आगे शोध करने के बाद मुझे लगता है कि जैसे कुछ कोशिश करेंगे:

import docx 

document = docx.Document() 

DOCX = '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}' 

element = document.settings.element.find(DOCX + 'proofState') 
element.attrib[DOCX + 'grammar'] = 'dirty' 
element.attrib[DOCX + 'spelling'] = 'dirty' 

document.add_paragraph("This has a spellling errror") 
document.save("test.docx") 

DOCX उपसर्ग के साथ कि बदल सकते हैं, लेकिन यह आसानी से lxml तत्व में पढ़ रहा है। मुझे अभी पता नहीं है कि चीजों को अधिक सीधे और साफ करने का कोई तरीका है लेकिन यह मेरे लिए काम करता है।

proofState सेटिंग के बारे में अधिक docx में:

+0

एक आकर्षण की तरह काम किया! धन्यवाद। –

संबंधित मुद्दे

 संबंधित मुद्दे