Преобразуйте .docx в .pdf с pandoc

ctrl+ww - переключатель между буферами

вместо последнего w можно использовать любой из .

20
19.07.2014, 01:21
2 ответа

В документации здесь, .docx не перечислен как совместимый вход:

Pandoc является библиотекой Haskell для преобразования от одного формата разметки до другого и инструментом командной строки, который пользуется этой библиотекой. Это может считать скидку с цены и (подмножества) Ткань, reStructuredText, HTML, ЛАТЕКС, разметка MediaWiki, разметка Пикши, OPML и DocBook; и это может записать простой текст, скидку с цены, reStructuredText, XHTML, HTML 5, ЛАТЕКС (включая beamer показы слайдов), ConTeXt, RTF, OPML, DocBook, OpenDocument, ODT, Word docx, GNU Texinfo, разметка MediaWiki, EPUB (v2 или v3), FictionBook2, Ткань, groff страницы справочника, Org-режим Emacs, AsciiDoc, и Slidy, Slideous, DZSlides, reveal.js или показы слайдов S5 HTML. Это может также произвести вывод PDF в системах, где ЛАТЕКС установлен.

Попробуйте что-то еще, как Libreoffice - который может сделать docx, aslong, поскольку Вы не возражаете против нескольких ошибок форматирования.

Править:

В описании теперь говорится, что Pandoc теперь, кажется, поддерживает чтение из Word DOCX (а также DocBook и несколько других форматов):

Pandoc является библиотекой Haskell для преобразования от одного формата разметки до другого и инструментом командной строки, который пользуется этой библиотекой. Это может считать скидку с цены и (подмножества) Ткань, reStructuredText, HTML, ЛАТЕКС, разметка MediaWiki, разметка TWiki, разметка Пикши, OPML, Org-режим Emacs, DocBook, txt2tags, EPUB и Word docx; и это может записать простой текст, скидку с цены, reStructuredText, XHTML, HTML 5, ЛАТЕКС (включая beamer показы слайдов), ConTeXt, RTF, OPML, DocBook, OpenDocument, ODT, Word docx, GNU Texinfo, разметка MediaWiki, разметка DokuWiki, разметка Пикши, EPUB (v2 или v3), FictionBook2, Ткань, groff страницы справочника, Org-режим Emacs, AsciiDoc, InDesign ICML, и Slidy, Slideous, DZSlides, reveal.js или показы слайдов S5 HTML. Это может также произвести вывод PDF в системах, где ЛАТЕКС установлен.


Как @evilsoup предложенный, это могло бы работать:

cd /DIRECTORY/WITH/FILE/IN && libreoffice --headless --convert-to html 'FILE.docx' && pandoc 'FILE.html' -o 'FILE.pdf'

Да, можно использовать команду libreoffice с --outdir, но вывод HTML не всегда прокладывает себе путь...

Я дал этому быстрый тест, и это, казалось, работало кроме Pandoc, отказывающего из-за изображения gif в документе smiley

16
27.01.2020, 19:44
  • 1
    Гм.... Word docx находится тут же в Вашем заключенном в кавычки тексте (прямо после OpenDocument и ODT). Тем не менее docx все еще не является хорошо зарегистрированным форматом и так, фактическая совместимость в открытом мире является.... пятнистой, будем мы говорить, и Ваше предложение для LibreOffice (наряду с различиями в форматировании) хорошо. –  SuperMagic 17.12.2013, 21:27
  • 2
    Если Вы действительно хотите pandoc-стиль (НА САМОМ ДЕЛЕ СДЕЛАННЫЙ ЛАТЕКСОМ) PDF, можно также использовать LibreOffice, чтобы преобразовать docx в HTML и затем использовать это в качестве входа для pandoc (в зависимости от компетентности человека, который сделал оригинал документа, Вы, возможно, должны удалить набор <BR>s от HTML). –  evilsoup 18.12.2013, 00:47
  • 3
    можно использовать прямой libreoffice экспорт PDF: libreoffice --headless --convert-to pdf inputfile.docx –  andrej 22.05.2014, 10:52
  • 4
    На OSX исполняемый файл называют soffice и можно найти в/Applications/LibreOffice.app/contents/MacOS/bin. Более подробная информация может быть найдена здесь: ask.libreoffice.org/en/question/12084 / … –  Tim Saylor 21.01.2015, 19:41
  • 5
    Pandoc/proc/sys/vm/drop_cache теперь перечисляет Word docx как поддерживаемый формат в документации. –  cledoux 13.04.2015, 17:43

Это все еще подходит на поиски Google, поэтому я хотел поставить это на запись: Pandoc не удалось прочитать DOCX, когда этот вопрос был задан (ошибка приходит от попытки прочитать двоичный файл), но С версии 1.13 она может, и это делает довольно хорошую работу.

12
27.01.2020, 19:44

Теги

Похожие вопросы