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?
iconv
un set di caratteri di origine, usando la -f
bandiera. Ad esempio, iconv -f ISO-8859-15 -t utf-8 file.docx
potrebbe funzionare. Non ho idea di quale sia il formato di un file .docx.
iconv
direttamente su un .docx
file. iconv
presume che il suo input sia un file di testo in un formato specificato o inferito. Un .docx
file è in realtà un file zip (un archivio compresso) contenente (principalmente) file XML. Probabilmente potresti avere un po 'di fortuna a decomprimere il .docx
file, eseguendo iconv
i 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.