Moduł Pod::Pdf

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

Co to jest?

Przekształca POD w PDF.

Składnia

Dla wszystkich systemów:

pod2pdf([options])

W połączeniu ze skryptem pod2pdf z linii komend.

pod2pdf [options] <file>
Opis

pod2pdf przekształca zwykły plik POD w plik PDF. Przyszłe rozszerzenia tego programu mogą pozwolić na przetwarzanie wielu plików POD w pojedyncza książkę. Na tym etapie nacisk jest kładzony na prostotę oraz łatwość użycia. Wyjściowy plik PDF otrzymuje nazwę pliku wejściowego ze dodanym przyrostkiem na .pdf.

Szkic PDF jest tworzony na poziomach drzewa odpowiadających =head1, =head2 oraz =item. Nagłówki szkicu są odtwarzane jako strona spisu treści. Długie napisy =item skracane do długości które będą rozsądne dla przestrzeni dostępnej na stronie. Kiedy dokument PDF jest wyświetlany na ekranie, szkic (czasem nazywany Bookmarks) zapewnia odnośniki do odpowiednich stron. Kiedy dokument jest drukowany ToC zapewnia tę samą funkcje.

Odnośniki w formie xyz.pm oraz odnośniki do nazwanych celów nie są implementowane, ponieważ rzadko jest możliwe rozwiązywanie odnośników za wyjątkiem limitowanych przypadków nazwanych odnośników w samym dokumencie. Linki do adresów URL (włączając w to ftp, http, mailto) są jednakże, oraz wywołują domyślną przeglądarkę.

Specyfikacja POD perlpod.pod pozwala aby bloki tekstu były zamknięte przez znaczniki =begin oraz =end. Typy bloków mogą być wskazywane przez napis po =begin (na przykład =begin html wskazuje na blok HTML), z których rozpoznawane są roff, man, latex, tex, oraz html. W przeciwnym przypadku zostaną kompletnie zignorowane. Wydaje się, że może to zabić przedmiot dokumentu, ponieważ zupełnie innego wyjścia mogli byśmy się spodziewać.. Jest wątpliwym czy to było by rzeczywiście intencją autora.

Głównym założeniem jest wyprodukownie przetworzonego pliku POD dobrej typograficznej jakości, który może zostać wydrukowany na każdej drukarce (w szczególności na nisko kosztowych nie PostScriptowych atramentowych drukarkach) w każdym środowisku. W związku należy zwrócić uwagę, że niektórzy autorzy POD'ów zaznaczają inteligentnie oraz z lepszymi efektami od innych. Nie rzadko błędy w formatowaniu sprawiają ze pliki nie są przetwarzane poprawnie na niektórych bądź każdym translatorze. Plik PDF mają bardzo użyteczną umiejętność szybkiego przejrzenia przetworzenia zanim plik zostanie wysłany do drukarki.

Opcje

Ze względu na kładziony nacisk na prostotę oraz łatwość użycia opcje zostały skrócone do minimum. Jednakże opcja do ustawiania rozmiaru papieru pozostaje konieczna dopóki świat nie uzgodni standardu. Jedynie papier A4 oraz USLetter są zaprogramowane, inne rozmiary będą potrzebowały zmian w kodzie Pdf.pm.

Opcje są zaimplementowane z użyciem Getopt::Long używając składni --[key]= tak jak opisano niżej. Kolejność w jakiej są podane jest nieistotna.

Rozmiar papieru

Domyślnie rozmiar papieru to A4 (może to zostać zmienione):

my $x_size = 595; # domyślna szerokość strony (piksele) my $y_size = 842; # domyślna wysokość strony (piksele)

Opcje:

--paper=usletter

Ustawić północno amerykański standardowy rozmiar:

my $x_size = 612; # US letter szerokość strony (piksele) my $y_size = 792; # US letter wysokość strony (piksele)

Program zaakceptuje każdy rozsądny rozmiar papieru.

Raportowanie błędów.

Limitowane raportowanie błędów na standardowe wyjście może zostać włączone poprzez ustawienie $verbose:

--verbose=1 # raport postępu --verbose=2 # bardziej rozbudowany raport o odnośnikach
Plik wejściowy

Nazwę pliku wejściowego można podać na wiele sposobów w większości systemów. Może zostać dołączona jako opcja, bądź też jako argument napis dla pod2pdf, bądź też jako składnik w @ARGV w końcu jako wpis z linii poleceń na systemach które wspierają linie poleceń.

--podname=filename
Dwustronne drukowanie

Wyjście zawsze jest dwustronne w sensie takim że strony są połączone z numerem strony. Jednakże nie każdy posiada drukarkę drukującą dwustronnie, na szczęście większość z nich są w stanie drukować wszystkie nieparzyste strony za jednym przejściem oraz wszystkie parzyste za drugim, co daje taki sam rezultat. Nawet jeśli jest to nie możliwe bądź nie warte starań, oraz cały dokument drukowany jest jednostronnie, nie jest to wielkim minusem.

Nazwa dokumentu

Skoro progam jest ograniczony do przetwarzania pojedynczych plików POD nazwa pliku wejściowego może zostać użyta jako wyjściowego rozróżnialna prosto poprzez rozszerzenie .pdf. Jeśli plik o takiej nazwie juz istnieje zostanie nadpisany bez ostrzeżenia.

Przykłady.

Przykład 1 (wszystkie platformy)
use Pod::Pdf; push @ARGV, qw(--paper usletter --verbose 1); push @ARGV, 'podfilename'; pod2pdf(@ARGV);
Przykład 2 (wszystkie platformy)
use Pod::Pdf; pod2pdf( '--paper=usletter', 'podfilename' );
Przykład 3 (wszystkie platformy)
use Pod::Pdf; pod2pdf( '--paper=usletter', '--verbose=2', '--podfile=podfilename' );
Przykład 3 (wszystkie platformy)
use Pod::Pdf; unshift @ARGV, '--paper=usletter'; pod2pdf(@ARGV);
Przykładowy pdf
obrazek pdfa Przykładowy pdf wygenerowany za pomocą tego modułu jest dostępny tutaj Pdf.pm.pdf. Jak łatwo zauważyć został on wygenerowany z pliku o nazwie Pdf.pm który zawiera dokumentacje pod. Jak widać pdf nie jest idealny pomimo poprawnej składni pod'a.

Dodatkowe informacje.

Przydatne linki

Dokumentacja tego modułu w cpan'ie

Kontakt i informacje o autorze opracowania

Autor modułu:

Alan J. Fry

Autor przekładu: MD

Numer GG: Słoneczko 2194164

Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.