Sto provando a convertire un .docx ricevuto per posta in un pdf corretto usando pandoc (sto usando GNU / Linux).
Ho un errore relativo alla codifica dei caratteri:
$ pandoc file.docx -o file.pdf
pandoc: Cannot decode byte '\x87': Data.Text.Encoding.decodeUtf8: Invalid UTF-8 stream
Ho provato a identificare la codifica:
$ file -i file .docx
file.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary
Sono un po 'sorpreso da charset=binary(mi aspettavo charset=iso8859-15). Comunque ho provato a convertire .docx in utf8 comunque e non funziona:
$ iconv -t utf-8 file.docx
P! $iconv: séquence d'échappement non permise à la position 16
Ho lo stesso errore con la riga di comando dalla documentazione di Pandand :
iconv -t utf-8 file.docx | pandoc | iconv -f utf-8
Come posso convertire questo .docx in pdf con pandoc?
iconvun set di caratteri di origine, usando la -fbandiera. Ad esempio, iconv -f ISO-8859-15 -t utf-8 file.docxpotrebbe funzionare. Non ho idea di quale sia il formato di un file .docx.
iconvdirettamente su un .docxfile. iconvpresume che il suo input sia un file di testo in un formato specificato o inferito. Un .docxfile è in realtà un file zip (un archivio compresso) contenente (principalmente) file XML. Probabilmente potresti avere un po 'di fortuna a decomprimere il .docxfile, eseguendo iconvi file costituenti e quindi ri-zippando tutto di nuovo in un nuovo .docx, ma non scommetterei che funzioni. Per prima cosa, il file XML contenente il contenuto effettivo del documento specifica la sua codifica: encoding="UTF-8"ad esempio.
