Próbuję przekonwertować .docx otrzymany pocztą na poprawny plik pdf za pomocą pandoc (używam GNU / Linux).
Mam błąd dotyczący kodowania znaków:
$ pandoc file.docx -o file.pdf
pandoc: Cannot decode byte '\x87': Data.Text.Encoding.decodeUtf8: Invalid UTF-8 stream
Próbowałem zidentyfikować kodowanie:
$ file -i file .docx
file.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document; charset=binary
Jestem trochę zaskoczony charset=binary
(spodziewałem się charset=iso8859-15
). Jednak mimo to próbowałem przekonwertować .docx na utf8 i to nie działa:
$ iconv -t utf-8 file.docx
P! $iconv: séquence d'échappement non permise à la position 16
Mam ten sam błąd w wierszu polecenia z dokumentacji pandoc :
iconv -t utf-8 file.docx | pandoc | iconv -f utf-8
Jak mogę przekonwertować ten .docx na pdf z pandoc?
iconv
źródłowego zestawu znaków przy użyciu-f
flagi. Na przykładiconv -f ISO-8859-15 -t utf-8 file.docx
może działać. Nie mam jednak pojęcia, jaki jest format pliku docx.iconv
bezpośrednio na.docx
pliku jest mało prawdopodobne.iconv
zakłada, że jego dane wejściowe są plikiem tekstowym w określonym lub wnioskowanym formacie..docx
Plik jest w rzeczywistości plik ZIP (a skompresowane archiwum) zawierający (w większości) plików XML. Możliwe, że masz szczęście rozpakować.docx
plik, uruchomićiconv
pliki składowe, a następnie ponownie skompresować wszystko z powrotem do nowego.docx
, ale nie postawiłbym na to, że zadziała. Po pierwsze, plik xml zawierający rzeczywistą treść dokumentu określa jego kodowanie:encoding="UTF-8"
na przykład.Odpowiedzi:
W dokumentacji tutaj ,
.docx
nie znajduje się na liście kompatybilnych wejścia :Wypróbuj coś innego, na przykład Libreoffice - który może obsługiwać docx, pod warunkiem, że nie przeszkadza ci kilka błędów formatowania.
EDYTOWAĆ:
Opis mówi teraz, że Pandoc wydaje się teraz obsługiwać czytanie ze Word DOCX (a także DocBook i kilku innych formatów):
Jak sugeruje @evilsoup, może to działać:
Tak, możesz użyć polecenia libreoffice z
--outdir
, ale wyjście html nie zawsze działa w ten sposób ...Dałem ten szybki test i wydawało się, że działa, oprócz awarii Pandoc z powodu obrazu gif w dokumencie
źródło
<BR>
sz html).To wciąż pojawia się przy wyszukiwaniu w Google, więc chciałem to zapisać: pandoc nie mógł odczytać docx, gdy zadano to pytanie (błąd pochodzi z próby odczytania pliku binarnego), ale od wersji 1.13 może, i robi całkiem dobra robota.
źródło