﻿define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>/dev/head &#187; Tips&#8217;n&#8217;tricks</title>
	<atom:link href="http://devhead.ru/cat/tipsntricks/feed" rel="self" type="application/rss+xml" />
	<link>http://devhead.ru</link>
	<description>Статьи и видео уроки</description>
	<lastBuildDate>Mon, 30 Jan 2017 11:12:34 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.37</generator>
	<item>
		<title>Скрипт для печати книг в Linux</title>
		<link>http://devhead.ru/read/skript-dlya-pechati-knig-v-linux</link>
		<comments>http://devhead.ru/read/skript-dlya-pechati-knig-v-linux#comments</comments>
		<pubDate>Fri, 30 Mar 2012 10:17:17 +0000</pubDate>
		<dc:creator><![CDATA[andreykyz]]></dc:creator>
				<category><![CDATA[Статьи]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[Tips'n'tricks]]></category>

		<guid isPermaLink="false">http://devhead.ru/read/skript-dlya-pechati-knig-v-linux/</guid>
		<description><![CDATA[Данная статья написана как руководство по созданию книг в Linux(Линукс). Всё будет происходить через консоль. Мы напишем скрипт для bash который будет автоматически производить спуск полос и выдаст готовый pdf файл. Также добавлена пара скриптов для создания и корректировки контраста pdf. Установка необходимых программ impose+ - Инструменты для печати книг sam2p - преобразование картинки в [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Данная статья написана как руководство по созданию книг в Linux(Линукс). Всё будет происходить через консоль. Мы напишем скрипт для bash который будет автоматически производить спуск полос и выдаст готовый pdf файл. Также добавлена пара скриптов для создания и корректировки контраста pdf.</p>
<p><a id=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BD.D0.B5.D0.BE.D0.B1.D1.85.D0.BE.D0.B4.D0.B8.D0.BC.D1.8B.D1.85_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC" name=".D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BD.D0.B5.D0.BE.D0.B1.D1.85.D0.BE.D0.B4.D0.B8.D0.BC.D1.8B.D1.85_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC"></a><span id="more-523"></span></p>
<h3><span class="mw-headline">Установка необходимых программ</span></h3>
<p>impose+ - Инструменты для печати книг<br />
sam2p - преобразование картинки в pdf<br />
pdftk - объединение кучи pdf файлов в один</p>
<blockquote>
<div>$ sudo aptitude install impose+ sam2p pdftk netpbm</div>
</blockquote>
<p><a id=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.B0.D1.81.D1.82.D0.B0" name=".D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D0.BA.D0.BE.D0.BD.D1.82.D1.80.D0.B0.D1.81.D1.82.D0.B0"></a></p>
<h3>Сборка pdf из Jpeg файлов</h3>
<p>Раздел для тех кому нужно создать pdf из набота картинок. У меня был набор jpeg фалов следовательно и скрипт я делал для jpeg. Также мой скрипт обесцвечивает картинки.<br />
Я создал файл <a class="external text" href="http://devhead.ru/download/book_printing/merge_jpegs.sh">merge_jpegs.sh</a> (или еще подобный для tiff <a class="external text" href="http://devhead.ru/download/book_printing/tiff_merge_to_pdf.sh">tiff_merge_to_pdf.sh</a>) со следующим содержимым:</p>
<pre class="brush: bash">#!/bin/bash
for i in *.jpg
do
 echo "./$i"
 jpegtopnm "./$i" | sam2p - PDF: `echo $i | tr -d "scan " | tr -d ".jpg"`_.pdf
done
pdftk *_.pdf output welding_controller.pdf
rm *_.pdf</pre>
<p>&nbsp;</p>
<h3><span class="mw-headline">Настройка контраста</span></h3>
<p>Данный раздел используется в том случае если у вас pdf состоит из тусклых картинок</p>
<h3><span class="mw-headline">Скрипт для выравнивание контраста</span></h3>
<p>Создаем файл <a class="external text" href="http://devhead.ru/download/book_printing/contrast_correct.sh">contrast_correct.sh</a> со следующим содержимым:</p>
<p><a id=".D0.9E.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.B8.D0.BD.D1.82.D0.B0.D0.BA.D1.81.D0.B8.D1.81.D0.B0_.D1.81.D0.BA.D1.80.D0.B8.D0.BF.D1.82.D0.B0" name=".D0.9E.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.B8.D0.BD.D1.82.D0.B0.D0.BA.D1.81.D0.B8.D1.81.D0.B0_.D1.81.D0.BA.D1.80.D0.B8.D0.BF.D1.82.D0.B0"></a></p>
<pre class="brush: bash">#!/bin/bash
pdftoppm $1 ""
for i in *.ppm
do
 ppmnorm -wpercent $2 ./$i | sam2p - PDF: ./`echo $i | tr -d '-' | tr -d .pgm`_.pdf
 rm ./$i
done
pdftk *_.pdf output `echo $1 | tr -d '-' | tr -d .pgm`_contrast.pdf
rm *_.pdf</pre>
<p>&nbsp;</p>
<h2><span class="mw-headline">Описание синтаксиса скрипта</span></h2>
<blockquote>
<div>./contrast_correct.sh &lt;исходный.pdf&gt; &lt;параметр&gt;</div>
</blockquote>
<p>Параметр подбираем экспериментально, я ставил 85 (это в процентах). На выходе получаем pdf файл с префиксом _contrast</p>
<p><a id=".D0.A1.D0.BF.D1.83.D1.81.D0.BA_.D0.BF.D0.BE.D0.BB.D0.BE.D1.81" name=".D0.A1.D0.BF.D1.83.D1.81.D0.BA_.D0.BF.D0.BE.D0.BB.D0.BE.D1.81"></a></p>
<h3><span class="mw-headline">Спуск полос</span></h3>
<p><a id=".D0.9D.D0.B0.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.BA.D1.80.D0.B8.D0.BF.D1.82.D0.B0_.D0.B4.D0.BB.D1.8F_.D1.81.D0.BF.D1.83.D1.81.D0.BA.D0.B0_.D0.BF.D0.BE.D0.BB.D0.BE.D1.81" name=".D0.9D.D0.B0.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.BA.D1.80.D0.B8.D0.BF.D1.82.D0.B0_.D0.B4.D0.BB.D1.8F_.D1.81.D0.BF.D1.83.D1.81.D0.BA.D0.B0_.D0.BF.D0.BE.D0.BB.D0.BE.D1.81"></a></p>
<h2><span class="mw-headline">Написание скрипта для спуска полос</span></h2>
<p>Создаем файл <a class="external text" href="http://devhead.ru/download/book_printing/make_book.sh">make_book.sh</a> со следующим содержимым:</p>
<pre class="brush: bash">#!/bin/bash
pdftops $1 - | psbook -s $3 | impose -scale $2 -v | ps2pdf - `echo $1 | sed -e "s/\.\(w*\)/_book./g"`
pdftops `echo $1 | sed -e "s/\.\(w*\)/_book./g"` temp.ps
psselect -o temp.ps | ps2pdf - `echo $1 | sed -e "s/\.\(w*\)/_odd.1/g"`
psselect -e temp.ps | ps2pdf - `echo $1 | sed -e "s/\.\(w*\)/_even./g"`
rm temp.ps</pre>
<h2><span class="mw-headline">Описание синтаксиса скрипта</span></h2>
<blockquote>
<div>./make_book.sh &lt;входящий_pdf_файл&gt; &lt;масштаб&gt; &lt;колличество страниц в тетрадке&gt;</div>
</blockquote>
<p>Все параметры обязательны</p>
<p><a id=".D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.BF.D0.B5.D1.87.D0.B0.D1.82.D0.B8" name=".D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D0.BA_.D0.BF.D0.B5.D1.87.D0.B0.D1.82.D0.B8"></a></p>
<h2><span class="mw-headline">Порядок печати</span></h2>
<p>Сначала печатаем файл с префиксом _odd (нечетные страницы), затем переворачиваем и печатаем в обратном порядке файл с префиксом _even (четные страницы).<br />
книга готова!!!</p>
<p><a id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8" name=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"></a></p>
<div><span class="mw-headline">Ссылки</span></div>
<p><a class="external text" title="http://debback.blogspot.com/2009/01/blog-post.html" href="http://debback.blogspot.com/2009/01/blog-post.html" rel="nofollow">Печатаем книгу сами! Спуск полос в домашних условиях</a><br />
<a class="external text" title="http://www.opennet.ru/base/sys/psutils.txt.html" href="http://www.opennet.ru/base/sys/psutils.txt.html" rel="nofollow">Использование psutils - пакета для работы с PostScript файлами</a><br />
<a class="external text" title="http://klirik.narod.ru/izdat/articles/sp.htm" href="http://klirik.narod.ru/izdat/articles/sp.htm" rel="nofollow">Сшивание книги</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devhead.ru/read/skript-dlya-pechati-knig-v-linux/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->