Конвертация из Markdown в PDF
Задача
Сконвертировать список .md файлов в .pdf, затем все склеить в определенном порядке в один большой PDF-файл.
Инструменты
Устанавливаем Ruby 2.0
sudo apt-get -y update
sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
cd /tmp
wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p481.tar.gz
tar -xvzf ruby-2.0.0-p481.tar.gz
cd ruby-2.0.0-p481/
./configure --prefix=/usr/local
make
sudo make install
Устанавливаем RVM
gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
\curl -sSL https://get.rvm.io | bash
Устанавливаем необходимые библиотеки
sudo apt-get install wkhtmltopdf
sudo apt-get install libxml2-dev
sudo apt-get install libxslt-dev
Ставим Gimli (конвертер из Markdown в PDF)
sudo gem install gimli
Устанавливаем PDFTK (для склейки в PDF)
sudo apt-get install pdftk
Процесс
Если нужно удалить первые n строк из .md файлов, используем команду:
# Запускается из папки с .md файлами
# Команда ниже удалит первые 3 строки из каждого файла
sed -i '3d' *.md
Сконвертировать все файлы из текущей папки в папку pdf (папка будет создана, если не существует):
gimli -recursive -outputdir pdf
К выходному файлу можно применить свои CSS-стили, сохранив их в файл style.css в папку со списком pdf-файлов
/*Уменьшить максимальную ширину всех картинок до 500 пикселей*/
img {max-width: 500px;}
Cо стилями команда конвертации будет такой:
gimli -recursive -outputdir pdf -stylesheet style.css
Соединить все .pdf файлы в один большой файл, в том порядке, в котором они указаны
cd pdf
pdftk 1.pdf 2.pdf cat output big.pdf
P.S Объединить .md файлы в один PDF можно и с помощью Gimli, но он не позволит слить файлы в определенном порядке, так как его параметр -merge не принимает аргументов.
На этом конвертация закончена.
Вопросы можно оставить в комментариях.
Конвертация DjVu в PDF
Понадобилось сегодня сконвертировать большой DjVu-файл (900 стр.) в PDF.
Попробовав несколько конвертеров, в том числе и онлайновые, пришел к выводу что файл получается либо большим(около гигабайта), либо конвертер зависает, либо еще какой-нибудь геморрой.
Лучше поступить таким образом:
Экспортировать страницы в картинки программой STDUViewer, так как WinDjView не позволяет выбирать качество выходного файла и всё экспортируется очень долго.
Выбираем качество, для печати (на А4 с лихвой хватит 100 dpi, конвертирование с более высоким качеством займет много времени) и экспортируем в JPEG.
Собираем из картинок PDF-файл с помощью FastStone Viewer.
Теперь из созданного PDF можно напечатать книгу.