メールで受信した.docxをpandocを使用して正しい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ドキュメントのコマンドラインでも同じエラーが発生します。
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ファイルを含むzipファイル(圧縮されたアーカイブ)です。.docxファイルを解凍iconvし、構成ファイルで実行してから、すべてを新しい.docxに再圧縮する運がおそらくあるかもしれませんが、私はそれがうまくいくとは思いません。たとえば、ドキュメントの実際のコンテンツを含むxmlファイルは、エンコードを指定します:encoding="UTF-8"。
