Saya mencoba untuk mengkonversi .docx yang diterima melalui pos ke pdf yang benar dengan menggunakan pandoc (saya menggunakan GNU / Linux).
Saya memiliki kesalahan terkait pengkodean karakter:
$ pandoc file.docx -o file.pdf
pandoc: Cannot decode byte '\x87': Data.Text.Encoding.decodeUtf8: Invalid UTF-8 stream
Saya mencoba mengidentifikasi penyandian:
$ file -i file .docx
file.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary
Saya sedikit terkejut dengan charset=binary(saya mengharapkan charset=iso8859-15). Namun saya mencoba untuk mengkonversi .docx ke utf8 dan tidak berfungsi:
$ iconv -t utf-8 file.docx
P! $iconv: séquence d'échappement non permise à la position 16
Saya memiliki kesalahan yang sama dengan baris perintah dari dokumentasi pandoc :
iconv -t utf-8 file.docx | pandoc | iconv -f utf-8
Bagaimana saya bisa mengkonversi .docx ini ke pdf dengan pandoc?
iconvset karakter sumber, menggunakan -fbendera. Misalnya, iconv -f ISO-8859-15 -t utf-8 file.docxmungkin berhasil. Tidak tahu apa format file .docx.
iconvlangsung pada .docxfile tidak mungkin berfungsi iconvmengasumsikan bahwa inputnya adalah file teks dalam beberapa format yang ditentukan atau disimpulkan. Sebuah .docxfile yang sebenarnya adalah file zip (arsip terkompresi) mengandung (kebanyakan) file xml. Anda mungkin memiliki sedikit keberuntungan membuka ritsleting .docxfile, menjalankan iconvfile konstituen, dan kemudian zip semuanya kembali menjadi yang baru .docx, tapi saya tidak akan bertaruh itu berfungsi. Untuk satu hal, file xml yang mengandung konten sebenarnya dari dokumen menentukan penyandiannya:, encoding="UTF-8"misalnya.
