मैं pandoc (मैं GNU / लिनक्स का उपयोग कर रहा हूं) का उपयोग करके मेल द्वारा प्राप्त एक .docx को एक सही पीडीएफ में बदलने की कोशिश कर रहा हूं।
मेरे पास वर्ण एन्कोडिंग से संबंधित एक त्रुटि है:
$ pandoc file.docx -o file.pdf
pandoc: Cannot decode byte '\x87': Data.Text.Encoding.decodeUtf8: Invalid UTF-8 stream
मैंने एन्कोडिंग की पहचान करने की कोशिश की:
$ file -i file .docx
file.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary
मैं थोड़ा हैरान charset=binary
हूं (मुझे उम्मीद थी charset=iso8859-15
)। हालाँकि मैंने वैसे भी .docx को utf8 में बदलने की कोशिश की है और यह काम नहीं कर रहा है:
$ iconv -t utf-8 file.docx
P! $iconv: séquence d'échappement non permise à la position 16
मुझे पंडोक प्रलेखन से कमांड लाइन के साथ एक ही त्रुटि है :
iconv -t utf-8 file.docx | pandoc | iconv -f utf-8
मैं इसे कैसे परिवर्तित कर सकता हूँ। Docx को pandoc के साथ pdf में?
iconv
का उपयोग करके एक स्रोत वर्ण सेट प्रदान करने का सुझाव देता हूं -f
। उदाहरण के लिए, iconv -f ISO-8859-15 -t utf-8 file.docx
काम कर सकते हैं। कोई विचार नहीं है कि एक .docx फ़ाइल का प्रारूप क्या है, हालाँकि।
iconv
किसी .docx
फ़ाइल पर सीधे काम करने की संभावना नहीं है। iconv
मानता है कि इसका इनपुट कुछ निर्दिष्ट या अनुमानित प्रारूप में एक पाठ फ़ाइल है। एक .docx
फ़ाइल वास्तव में एक ज़िप फ़ाइल (एक संपीड़ित संग्रह) है जिसमें (ज्यादातर) xml फाइलें हैं। आपके पास निश्चित रूप से कुछ किस्मत हो सकती है .docx
फ़ाइल को खोलना , iconv
घटक फाइलों पर चलना , और फिर सब कुछ फिर से एक नए में बदलना .docx
, लेकिन मैं इस पर काम नहीं करूंगा। एक बात के लिए, दस्तावेज़ की वास्तविक सामग्री वाली xml फ़ाइल इसके एन्कोडिंग को निर्दिष्ट करती है: encoding="UTF-8"
उदाहरण के लिए।