Программирование
On-line приложения
Почитать
Web-сервер Apache
Печать и форматирование
MySQL
Разные рецепты
Сборка/установка
Справки
Философия
Мой опыт
Скачать
Программы на Tcl/Tk (GUI)
Программы на Python/Tk (GUI)
Программы (CLI)
Help
Хобби
Фракталы
on-line
Язык для рисования фракталов
Гиперкуб
Теория относительности
Ампуллярии
Преподавание
Студенту/абитуриенту
Мой опыт
Автора!

Преобразование pod в pdf

Проще всего воспользоваться системой LaTeX.

Сперва делаем PostScript:

#!/bin/sh
f=DBI
pod2latex -out $f.t $f.pm
( cat doc-head-12pt.tex
  perl -pe 's/section\*/section/g' $f.t.tex
  cat doc-tail.tex ) > $f.tex
latex $f.tex
latex $f.tex
dvips -o $f.ps $f.dvi

Совет: если вы создаёте русский POD-документ и вам выдаётся странная ошибка, что POD не обнаружен, то поправьте в модуле Pod::Find строчку unless(-f $file && -T _ && ($file =~ /\.(pod|pm|plx?)\z/i || -x _ )). Выкиньте из неё проверку -T — она не воспринимает файл, как текстовый, если в нём есть не-ASCII символы, коими являются русские буквы.

Здесь предполагается, что DBI.pm (или любой другой файл с POD-документацией) находится в текущей директории, а файлы doc-head-12pt.tex и doc-tail.tex имеют примерно следующее содержание:

файл doc-head-12pt.tex:

% Задаём глобальные атрибуты документа
%\documentclass[11pt, twocolumn]{article}
\documentclass[11pt]{article}
%\usepackage[magstep2]{scale}

%\usepackage[a3paper]{geometry}

% Изменяем поля
\addtolength{\hoffset}{-.9in}
\addtolength{\textwidth}{1.8in}
\addtolength{\voffset}{-1.1in}
\addtolength{\textheight}{2.2in}
% Отступ абзацев
\setlength{\parindent}{1cm}
% Расстояние между абзацами
\setlength{\parskip}{0pt}
% Русский стиль оформления абзацев
%\usepackage{indentfirst}

% Оговариваем кодировку документа
% (обычно POD-документы англоязычны, но вы можете создать
% свой собственный на любом языке)
%\usepackage[cp866]{inputenc}
% \usepackage[koi8-r]{inputenc}
% \usepackage[russian]{babel}
% \selectlanguage{russian}
%\usepackage{draftcopy}

% Включаем графический пакет
% (это только для опытных пользователей, которые
% сами разрабатывают документацию в POD)
%\usepackage[dvips]{graphicx}
%\graphicspath{{ps/}}
% Макрос для вставки картинок
%\newcommand{\inspsfig}[3]{
%\begin{figure}[!htbp]
%\begin{center}
%\includegraphics[angle=0, width=#2\textwidth]{#1}
%\end{center}
%\caption{#3}
%\label{text}
%\end{figure}
%}

% Задаём межстрочный интервал
\linespread{1}

% Документ начался
\begin{document}
% В начале документа генерируем оглавление и ...
\tableofcontents
% ... список иллюстраций
%\listoffigures
% Можно начать документ со следующей страницы
\newpage
% а можно просто задать отступ
%\vspace{50mm}

Большинство директив здесь закомментированны, но они могу оказать полезны. А иные вам, возможно, захочется закомментировать.

файл doc-tail.tex:

\end{document}

Скрипт создаёт PS-файл с которым можно сделать любые преобразования. Например, если на выходе нужен буклет, то это можно сделать так:

#/bin/sh
f=DBI
pstops '4:-3L@.7(21cm,0)+0L@.7(21cm,14.85cm)' $f.ps $f-up.ps
pstops '4:1L@.7(21cm,0)+-2L@.7(21cm,14.85cm)' $f.ps $f-down.ps

Получатся два файла (у нас: DBI-up.ps и DBI-down.ps). Это все верхние и все нижние странички. То есть печатаете сперва верхние, потом переворачиваете всю пачку и печатаете нижние. Потом складываете пачку пополам, прошиваете, и буклет готов.

Все полученные PSы можно переделать в PDFы:

#/bin/sh
gs -sOutputFile=${1%.ps}.pdf \
   -dBATCH -dNOPAUSE \
   -sPAPERSIZE=a4 \
   -sDEVICE=pdfwrite \
   $1

Эта страница набрала не малую популярность, её посещает множество людей, поэтому я решил провести небольшое исследование. Если у вас есть комментарий, если вы сочли полученную информацию полезной, не полной, или вообще бесполезной, вы можете высказать своё мнение, пожелания, дополнения.

Если вы ожидаете получить от меня ответ или разъяснение, пожалуйста укажите e-mail, ICQ или другую контактную информацию.
Ваше сообщение не появится на странице, а просто отправится мне.

© 1999 − 2008 Мичурин Алексей — http://www.michurin.com.ru/