pandoc을 사용하여 메일로 수신 된 .docx를 올바른 pdf로 변환하려고합니다 (GNU / Linux를 사용하고 있습니다).
문자 인코딩과 관련된 오류가 있습니다.
$ 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
pandoc documentation 의 명령 줄과 동일한 오류가 있습니다 .
iconv -t utf-8 file.docx | pandoc | iconv -f utf-8
pandoc을 사용하여이 .docx를 pdf로 변환하려면 어떻게해야합니까?
iconv
사용하여 소스 문자 세트를 제공 하는 것이 좋습니다 -f
. 예를 들어 iconv -f ISO-8859-15 -t utf-8 file.docx
작동 할 수 있습니다. 그래도 .docx 파일의 형식이 무엇인지 모릅니다.
iconv
직접 실행해도 .docx
작동하지 않을 수 있습니다. iconv
입력이 지정되거나 유추 된 형식 의 텍스트 파일 이라고 가정 합니다. .docx
파일은 실제로 (주로) XML 파일을 포함하는 zip 파일 (압축 된 아카이브)입니다. 아마도 .docx
파일 압축을 풀고 iconv
구성 파일에서 실행 한 다음 모든 것을 다시 새로운 압축으로 다시 압축 할 수는 있지만 운 .docx
이 좋을 것입니다. 우선, 문서의 실제 내용을 포함하는 xml 파일은 인코딩을 지정 encoding="UTF-8"
합니다 (예 :).