Пишу о программировании, книгах, науке и жизни
2 заметки с тегом

pdf

Конвертация из Markdown в PDF

24 января 2015, 21:44

Задача

Сконвертировать список .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

16 января 2014, 19:11

Понадобилось сегодня сконвертировать большой DjVu-файл (900 стр.) в PDF.
Попробовав несколько конвертеров, в том числе и онлайновые, пришел к выводу что файл получается либо большим(около гигабайта), либо конвертер зависает, либо еще какой-нибудь геморрой.

Лучше поступить таким образом:

Экспортировать страницы в картинки программой STDUViewer, так как WinDjView не позволяет выбирать качество выходного файла и всё экспортируется очень долго.

Выбираем качество, для печати (на А4 с лихвой хватит 100 dpi, конвертирование с более высоким качеством займет много времени) и экспортируем в JPEG.

Собираем из картинок PDF-файл с помощью FastStone Viewer.

Теперь из созданного PDF можно напечатать книгу.