2013-01-10 32 views
52

समेत डॉक्क्स को मार्कडाउन मैंने पांडोक का उपयोग करके मार्कडाउन फ़ाइलों को डॉकएक्स फ़ाइलों में कनवर्ट करने के लिए अपना निर्माण स्वचालित कर दिया है। मैंने अंतिम दस्तावेज़ की स्टाइल के लिए एक संदर्भ दस्तावेज़ भी उपयोग किया है। आदेश मैं का उपयोग करें:जटिल टेम्पलेट

pandoc -f markdown -t docx --data-dir=docs/rendering/ mydoc.md -o mydoc.docx 

reference.docxdocs/rendering से Pandoc द्वारा उठाया जाता है और Pandoc संदर्भ दस्तावेज़ के रूप में ही शैलियों के साथ mydoc.docx बना देता है।

हालांकि, reference.docx में केवल शैलियों से अधिक शामिल हैं। इसमें कॉपोरेट लोगो, प्रीम्बल, इत्यादि शामिल हैं

मैं reference.docx दोनों शैलियों और सामग्री के साथ मार्कडाउन सामग्री के विलय को स्वचालित कैसे कर सकता हूं। मेरे समाधान को लिनक्स पर काम करने की जरूरत है।

+0

आप MergeDocx (हमारे वाणिज्यिक उत्पाद, जावा) की कोशिश कर सकते – JasonPlutext

+0

मैं एक बार कुछ इस तरह करने की कोशिश की है, लेकिन मैंने पाया यह आसान था सिर्फ विशेष प्रिंट शैलियों के साथ एक वेबपेज प्रस्तुत करना और क्रोम से एक पीडीएफ बनाने जाने के लिए। या पेज को पीडीएफ प्रिंटर पर प्रिंट करें। मुझे पूरे डॉक्सएक्स को फिर से बनाना था, लेकिन पूरे स्वरूपण (और गलतियों को खतरे में डालकर) में विलय करने से यह आसान लग रहा था। – ayke

उत्तर

11

आदर्श रूप से, पैनडॉक इस सुविधा को but it doesn't look like likely जल्द ही विकसित करेगा।

मुझे किसी भी उपकरण के बारे में पता नहीं है जो सीधे काम करेगा, लेकिन आप शायद reference.docx और आपके पैनडोक-उत्पादित mydoc.docx कोड में विलय करने के लिए वापस आ सकते हैं।

.docx प्रारूप (ज्यादातर) एक्सएमएल फाइलों का एक ज़िप संग्रह है। सबसे महत्वपूर्ण word/document.xml है। यदि आप एक फ़ाइल से document.xml (अधिकतर) लेने के लिए एक एक्सएमएल टूल का उपयोग करते हैं और इसे दूसरे में डालें, तो आपके पास जो कुछ चाहिए, उसके करीब कुछ होगा।

मैं एक उदाहरण में एक उदाहरण हैक कह सकता हूं, रूबी अगर कोई चित्रण मदद करेगा।

10

आदर्श रूप से आप कस्टम डॉक्स टेम्पलेट का उपयोग कर सकते हैं, लेकिन पैंडोक अभी तक इसका समर्थन नहीं करता है। एक reference.docx फ़ाइल केवल नई शैलियों को नए बनाए गए डॉक्क्स फ़ाइलों में एम्बेड करने की अनुमति देती है।

सौभाग्य से आप डॉक्क्स के बजाय odt का उपयोग करके इसका अनुमान लगा सकते हैं। अपने कस्टम लोगो, प्रीम्बल और अन्य सामान को शामिल करने के लिए आप default OpenDocument template को काफी आसानी से संशोधित कर सकते हैं। सभी शैलियों और कस्टम सामग्री प्राप्त करने के लिए reference.odt फ़ाइल के साथ संयोजन में कस्टम टेम्पलेट का उपयोग करें।

एक बार जब आपके पास ओडीटी प्रारूप में फ़ाइल हो, तो आप odt से docx में कनवर्ट करने के लिए कमांड लाइन टूल्स का उपयोग कर सकते हैं। उदाहरण के लिए, लिनक्स पर आप

libreoffice --invisible --convert-to docx test.odt 

या ओएस एक्स पर चला सकते हैं:

/Applications/LibreOffice.app/Contents/MacOS/soffice.bin --invisible --convert-to docx test.odt 
+1

स्वचालित रूप से docx फ़ाइलों/टेम्पलेट्स को odt में क्यों परिवर्तित नहीं करते हैं? और फिर पैडोक रूपांतरण में ओडीटी का उपयोग करें? (मैं एक पैंडोक और दस्तावेज़-टेम्पलेट नौसिखिया हूं, इसलिए कृपया मेरे अज्ञानी प्रश्न को क्षमा करें।) –

+1

पांडोक को ओडीटी टेम्पलेट में सही तरीके से काम करने के लिए विशेष चर की आवश्यकता है (https://github.com/andrewheiss/Global-Pandoc-files/ देखें ब्लॉब/मास्टर/टेम्पलेट्स/odt.template # L34, उदाहरण के लिए)। आप देशी डॉक्स में उन्हें नहीं बना सकते हैं-उन्हें एक टेक्स्ट एडिटर के माध्यम से हाथ से जोड़ा जाना है। – Andrew

10

मैं जानता हूँ कि यह आने में देर हो चुकी है, लेकिन मैं लोगों को अभी भी इस तीन के समाधान के लिए खोज रहे हैं यह सोचते हो जाएगा मूल प्रश्न के कुछ साल बाद - मुझे पता था कि मैं था।

मेरा समाधान मार्कटेक और डॉक्क्स के बीच मध्यस्थ के रूप में लाटेक्स का उपयोग करना था (वास्तव में, मैं संगठन मोड से परिवर्तित हो रहा था, लेकिन एक ही अंतर)। तो आपके मामले में, मेरा मानना ​​है कि एक लाइनर समाधान होगा:

pandoc -f markdown -t latex -o mydoc.tex mydoc.md && \ 
pandoc -f latex -t docx --data-dir=docs/rendering/ -o mydoc.docx mydoc.tex 

जो आपको अपने लक्ष्य के करीब ले सकता है। बेशक, पांडोक के पास सौ सौ तर्क हैं जो इसे संभाल सकते हैं, और शायद इस सुंदर बनाने के तरीके हैं। आपने पहले ही अपना प्रश्न पोस्ट करने के बाद से कुछ अपडेट प्राप्त किए हैं।