प्रत्येक कार्य के कई समाधान हैं। और कभी-कभी, गति के लिए, आपको सबसे सुंदर नहीं चुनना होगा, लेकिन इसके लिए निर्धारित लक्ष्यों को पूरा करना और पूरा करना है। इसलिए, बहुत ही सुंदर दिन पर, निम्नलिखित फ़ंक्शन को लागू करने की आवश्यकता थी: साइट के प्रत्येक (लगभग) पृष्ठ को स्वचालित रूप से डीओसी और पीडीएफ प्रारूपों में प्रतियां उत्पन्न होनी चाहिए। सामग्री के अंदर सभी तालिकाओं और चित्रों के संरक्षण के साथ। और अगर पीडीएफ के साथ सब कुछ अपेक्षाकृत सरल है (टीसीपीडीएफ हमारे दोस्त और भाई हैं), तो डीओसी के साथ एक परेशानी थी। कटौती के तहत - इस समस्या को हल करने का एक उदाहरण।
निम्नलिखित समाधान मेरे दिमाग में आए:
- सर्वर (OpenBSD पर सर्वर) पर OpenOffice स्थापित करें और रूपांतरण से निपटें। एक सुंदर निर्णय, लेकिन समय समाप्त हो रहा था।
- डीओसी के बजाय, आरटीएफ प्रारूप में एक फ़ाइल उत्पन्न करें, क्योंकि प्रारूप खुला है और इसके साथ काम करने के लिए कई पुस्तकालय हैं। माइनस - मुझे तैयार HTML-> आरटीएफ कनवर्टर नहीं मिला (मैं याद दिलाता हूं, चित्रों और तालिकाओं को सहेजना), लेकिन अपना खुद का लिखने के लिए - इसके लिए एक निश्चित समय की आवश्यकता होती है
- बहुत ईमानदार नहीं है - DOC एक्सटेंशन के साथ एक HTML पेज को बचाने के लिए सिर्फ "फेस-ऑन" - वर्ड 2003 और उच्चतर समस्याओं के बिना खुल जाएगा, सत्यापित। प्लस - एक उत्कृष्ट रूपांतरण गति और पूरे लेआउट का संरक्षण। माइनस - छवियों को इस तरह से नहीं बचाया जा सकता है (और विधि की ईमानदारी कुछ हद तक लंगड़ा है)।
यहां, वास्तव में, तीसरे विकल्प से, अंतिम समाधान का जन्म हुआ: एमएचटी प्रारूप में एक दस्तावेज़ बनाएं, इसमें छवियों को एकीकृत करें और डीओसी एक्सटेंशन के साथ सहेजें।
यहां से ली गई एक साधारण लाइब्रेरी
का उपयोग पीढ़ी के लिए किया जाता
था । कोड सुंदर और बहुमुखी, अधिक होने का नाटक नहीं करता है, इसमें ऐसी समस्याएं हैं जो उस साइट के लिए प्रासंगिक नहीं हैं, लेकिन मुख्य बात यह है कि यह काम करता है, और विषय को समझने के लिए पर्याप्त है।
लिखित फ़ंक्शन का उपयोग करने का एक उदाहरण:
$link="m.habrahabr.ru/post/136811/"; CreateDOC($link,"test.doc");
और यहाँ फ़ंक्शन का स्रोत कोड है:
function CreateDOC($link,$filename) {
स्वाभाविक रूप से, यह एक बहुत अधिक सार्वभौमिक और प्रत्यक्ष वर्ग के आधार पर लिख सकता है, लेकिन हमारे उद्देश्यों के लिए यह पर्याप्त था। मुख्य बात यह है कि यह समाधान काम करता है, और जल्दी से पर्याप्त है। मुझे आशा है कि यह किसी के लिए उपयोगी लगता है।
अद्यतन: टिप्पणियों में हमने परिणामी फ़ाइल का परीक्षण किया - आम तौर पर यह केवल Microsoft Word 2003 में खुलता है और उच्चतर, तृतीय-पक्ष उत्पादों (ओपनऑफ़िस और अन्य) में समस्याएं उत्पन्न होती हैं। इसके अलावा टिप्पणियों में कई अन्य, अधिक सही रूपांतरण विधियों के लिंक हैं।
अपडेट 2: स्रोत अपडेट किया गया -
फ्लेक्सिडक ने अधिक सफल नियमित सीज़न की पेशकश की, अतिरिक्त पात्रों के बिना छवि पथ का चयन किया।