2009-06-23 12 views
35

मैं पाइथन का उपयोग करके एक वर्ड दस्तावेज़ बनाना चाहता हूं, हालांकि, मैं जितना संभव हो सके अपने मौजूदा दस्तावेज़-निर्माण कोड का पुन: उपयोग करना चाहता हूं। मैं वर्तमान में एक HTML फ़ाइल जेनरेट करने के लिए एक एक्सएसएलटी का उपयोग कर रहा हूं जिसे मैं programatically convert पीडीएफ फाइल में भेजता हूं। हालांकि, मेरा ग्राहक अब अनुरोध कर रहा है कि वही दस्तावेज़ Word (.doc) प्रारूप में उपलब्ध कराया जाए।मैं पायथन का उपयोग कर वर्ड दस्तावेज़ कैसे बना सकता हूं?

अब तक, मुझे इस समस्या के किसी भी समाधान को खोजने में बहुत भाग्य नहीं मिला है। क्या किसी को ओपन सोर्स लाइब्रेरी (या * गल्प * एक मालिकाना समाधान) के बारे में पता है जो इस मुद्दे को हल करने में मदद कर सकता है?

नोट: सभी संभावित समाधान लिनक्स पर चलाना चाहिए। मेरा मानना ​​है कि यह pywin32 को समाप्त करता है।

उत्तर

36

एक जोड़े तरीकों से आप अजगर का उपयोग कर Word दस्तावेज़ों बना सकते हैं:

  • उपयोग COM स्वचालन एमएस वर्ड ऑब्जेक्ट मॉडल का उपयोग कर एक दस्तावेज़ (pywin32 का प्रयोग करके) बनाने के लिए। http://python.net/crew/pirx/spam7/
  • स्वचालित OpenOffice अजगर का उपयोग कर: http://wiki.services.openoffice.org/wiki/Python
  • तो rtf प्रारूप ठीक है, PyRTF पुस्तकालय का उपयोग करें: http://pyrtf.sourceforge.net/

संपादित करें:

के बाद से COM सवाल से बाहर है, मैं निम्नलिखित सुझाव (@ केक्रमली के जवाब से प्रेरित):

पाइथन से ओपन ऑफिस को स्वचालित करने के लिए यूएनओ लाइब्रेरी का उपयोग करके, ओओआरआरआईटर में HTML फ़ाइल खोलें, फिर .doc के रूप में सहेजें।

EDIT2:

अब एक शुद्ध पायथन python-docx project कि अच्छा लग रहा है (मैं इसे इस्तेमाल नहीं किया है) है।

+0

वाह, आपने उसी 3 विचारों में से 2 को मारा जो मैं कहने जा रहा था (COM और RTF)। मुझे समय बचाने के लिए धन्यवाद। :) –

+8

+1 के लिए आरटीएफ। डीओसी – Hardwareguy

+0

दुर्भाग्य से, .doc आवश्यक है। कोई आरटीएफ नहीं – Huuuze

0

क्या आप लिख सकते हैं वर्डएमएल एक्सएमएल फाइलों के रूप में और इसे .docx प्रारूप में ज़िपित कर सकते हैं? आपके सभी क्लाइंट को Word 2007 फ़िल्टर की आवश्यकता होगी यदि वे पहले से ही Office 2007 पर नहीं हैं।

वहां कई उदाहरण हैं।

आप 2003 से शुरू होने वाले XML में सीधे XML में लोड कर सकते हैं, या so I've been told

+0

दुर्भाग्य से, इस विकल्प को आदर्श नहीं है सक्षम बनाता है। मैं जो कह सकता हूं, उससे मुझे दस्तावेज़ के स्वरूपण को बनाए रखने के लिए अपना डेटा वर्डएमएल में परिवर्तित करना होगा। – Huuuze

2

1) यदि आप अपनी वर्तमान पाइपलाइन के अंत में एक और कदम रखना चाहते हैं, तो पीडीएफ फाइलों को वर्ड फाइलों में परिवर्तित करने के लिए अब कई विकल्प हैं। मैंने 123PDFConverter की कोशिश नहीं की है, लेकिन सीएनईटी संपादकों ने इसकी सिफारिश की है (एक ही लिंक); इसका नि: शुल्क परीक्षण है; और यह स्वचालन का समर्थन करता है। किसी भी तृतीय-पक्ष फ़ाइल कनवर्टर के साथ, आपका माइलेज भिन्न हो सकता है, यह निर्भर करता है कि आपके पीडीएफ कितने जटिल हैं, और सॉफ्टवेयर वास्तव में कितना अच्छा है।

2) कोडप के COM स्वचालन सुझाव पर बिल्डिंग, यदि आप स्वचालित शब्द COM करते हैं, तो आप Word में अपनी वास्तविक HTML फ़ाइल खोल सकते हैं और इसे "सहेजें As" कमांड को कॉल कर सकते हैं, इसे एक DOC फ़ाइल के रूप में सहेजने के लिए।

2

मुझे पाइथन के साथ कुछ भी करना पड़ा है। यह दूर अधिक मैन्युअल काम से चाहता है, लेकिन पीईआरटीएफ के साथ बनाए गए दस्तावेज वर्ड और ओपनऑफिस को दुर्घटनाग्रस्त कर रहे थे और मेरे पास इसे समझने की कोशिश करने की प्रेरणा नहीं थी।

मुझे शैलियों के साथ वर्ड दस्तावेज़ टेम्पलेट बनाने के लिए यह सबसे सरल (लेकिन आदर्श नहीं) मिला है।फिर मेरा पायथन एक HTML फ़ाइल बनाता है जिसका वर्ड शैलियों के बाद <p> शैलियों को लेबल किया जाता है। फिर मैं वर्ड में HTML फ़ाइल खोलता हूं और वर्ड में टेम्पलेट खोलता हूं। मैंने HTML फ़ाइल से सभी पाठ को टेम्पलेट में काट और पेस्ट किया है, और वर्ड इसे सभी शैलियों के अनुसार दोबारा स्वरूपित करता है जो मैंने पहले स्थापित किया था। यह मेरी स्थिति में कभी-कभी फाइल के लिए काम करता है। यह आपकी स्थिति के लिए काम नहीं कर सकता है। FYI करें।

20

मैं उत्तराधिकारी के साथ python-docx की कोशिश की, तो यह आपको अजगर

भीतर बनाने के लिए और संपादित docx
+8

जब आप किसी प्रश्न का उत्तर देते हैं तो अधिक ध्यान पाने के लिए कुछ उदाहरण कोड शामिल करना एक अच्छा विचार हो सकता है, भले ही यह आपके द्वारा प्रदान किए गए लिंक से जुड़ा हुआ हो। –

+0

@mbk मुझे इस लाइब्रेरी के साथ एक दस्तावेज़ बनाने के लिए ट्यूटोरियल नहीं मिला – Volatil3

+1

@ Volatil3 पृष्ठ पर एक उदाहरण है, यहां एक सीधा [लिंक] है (https://github.com/mikemaccana/python-docx/blob/ मास्टर/example-makedocument.py) – mbk

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