Article View: pl.comp.dtp.tex
Article #17081Re: Strona pdf na pół
From: Tomasz Sowa
Date: Sun, 23 Oct 2011 12:16
Date: Sun, 23 Oct 2011 12:16
82 lines
3112 bytes
3112 bytes
Dnia Sat, 22 Oct 2011 20:48:17 +0000 (UTC), AMX napisał(a):
> To rzeczywiście jest rozwiązanie (no pół). Nie muszę pracować w
> pdf-ie, mogę w eps-ie, to bez znaczenia. Tylko jak wyciąć pół
> strony z całej? Takiej sztuczki to nigdy nie robiłem.
Ogólnie w pdf-ie to się nie da, natomiast robi się to 'przycinając' --
poprostu nie widać tego co wystaje na zewnątrz papieru.
Naprzykład aby uzyskać prawą cześć strony to możesz ustawić hbox na długość
dwa razy szerokości strony, do niego zasiorbać pdf-a i poźniej ustawić
hoffset na wartość ujemną szerokości. To spowoduje że tylko prawa strona
oryginału będzie widoczna.
Ogólnie do pracy z pdfami polecam xetexa, wygenerujmy dla przykładu
prostego pdfa ze świnkami na każdej stronie:
\newcount\licznik
\licznik=1
\output{\ifodd\licznik\global\setbox200\box255\else{%
\hsize 42cm\shipout\hbox to 42cm{\hbox to 21cm{\box200}\hbox to
21cm{\box255}}}\fi}
\def\drukujswinke{swinka \the\licznik\par\vfill\eject}
\loop\ifnum\licznik<9\drukujswinke\advance\licznik by 1\repeat
\bye
$ xetex -papersize="420mm,297mm" swinka.tex
wygląda on tak:
http://tmp.slimaczek.pl/tmp/swinka.pdf
teraz chcemy zrobić z niego pdfa o szerokości stron 21cm, czyli to o co
pytasz:
\newdimen\szerokosc
\newdimen\wysokosc
\newcount\ilestron
% wynikowy pdf
\szerokosc=210mm
\wysokosc=297mm
\ilestron=8
% wejsciowy pdf zakladamy ze jest dwa razy szerszy
\newdimen\szerokoscdouble
\szerokoscdouble=\szerokosc
\multiply\szerokoscdouble by 2
\newcount\strona
\newcount\pdfstrona
\strona=0
\pdfstrona=1
\output{\shipout\box255}
\voffset=-1in
\loop\ifnum\strona<\ilestron
\hsize=\szerokosc
\hoffset=-1in
\vbox to \wysokosc{\hbox to \szerokosc{%
\XeTeXpdffile swinka.pdf page \pdfstrona \relax}}
\supereject
\hsize=\szerokoscdouble
\hoffset=-\szerokosc
\advance\hoffset by -1in
\vbox to \wysokosc{\hbox to \szerokoscdouble{%
\XeTeXpdffile swinka.pdf page \pdfstrona \relax}}
\supereject
\advance\strona by 2
\advance\pdfstrona by 1
\repeat
\bye
i uzywamy tego tak:
xetex -papersize "210mm,297mm" podziel.tex
i pdf gotowy:
http://tmp.slimaczek.pl/tmp/podziel.pdf
--
Tomek
http://www.ttmath.org
Technical Details
Message-ID:
<1k1h8l10rtx3$.dlg@torpi.slimaczek.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mailReferences:
<slrnja61th.e80.r-znk@amber.within.nat> <slrnja64sb.ih7.jaros@falcon.lasek.waw.pl> <slrnja6avn.hob.r-znk@amber.within.nat>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.dialog.net.pl!not-for-mail From: Tomasz Sowa <ts@ttmath.NOSMAP.org> Newsgroups: pl.comp.dtp.tex Subject: Re: Strona pdf na pół Date: Sun, 23 Oct 2011 14:16:24 +0200 Organization: Dialog Net Lines: 82 Message-ID: <1k1h8l10rtx3$.dlg@torpi.slimaczek.pl> References: <slrnja61th.e80.r-znk@amber.within.nat> <slrnja64sb.ih7.jaros@falcon.lasek.waw.pl> <slrnja6avn.hob.r-znk@amber.within.nat> NNTP-Posting-Host: dynamic-78-8-11-59.ssp.dialog.net.pl Mime-Version: 1.0 X-Trace: news.dialog.net.pl 1319372187 5745 78.8.11.59 (23 Oct 2011 12:16:27 GMT) X-Complaints-To: abuse@dialog.net.pl NNTP-Posting-Date: Sun, 23 Oct 2011 12:16:27 +0000 (UTC) User-Agent: 40tude_Dialog/2.0.15.1pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit