🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.dtp.tex
5 messages
5 total messages Started by AMX Sat, 22 Oct 2011 18:13
Strona pdf na pół
#17077
Author: AMX
Date: Sat, 22 Oct 2011 18:13
15 lines
1245 bytes
Przepraszam za pytanie niezwiązane z TeXem ale narzędzia
około-TeXowe.

Mam dokument z 2 stronami na 1, potrzebuję odzyskać znowu
pojedyncze strony, czyli ,,przeciąć'' każdą stronę na pół i
przeskalować. Odwrotność psnup. Czy jest to wykonalne? A jeśli to
jak?

Kłaniam się w pół
   
      AMX

-- 
adres w rot13
Nyrxfnaqre Znghfmnx r-znk@b2.cy
Re: Strona pdf na pół
#17078
Author: Jarosław Sokołowski
Date: Sat, 22 Oct 2011 19:03
29 lines
1709 bytes
Pan AMX napisał:

> Przepraszam za pytanie niezwiązane z TeXem ale narzędzia
> około-TeXowe.
>
> Mam dokument z 2 stronami na 1, potrzebuję odzyskać znowu
> pojedyncze strony, czyli ,,przeciąć'' każdą stronę na pół
> i przeskalować. Odwrotność psnup. Czy jest to wykonalne?
> A jeśli to jak?

Może za pomocą pdfTeXa? Potrafi używać plików PDF jako ilustracji,
więc można wklejać poszczególne półstrony wejściowego PDFa na
kolejnych stronach generowanych przez TeXa, odpowiednio je kadrując
i przesuwając. Kiedyś miałem podobny problem z plikiem PS i poszło
gładko po napisaniu krótkiego skryptu (TeX + dvips zamiast pdfTeX).

> Kłaniam się w pół
>    
>       AMX

Jarek

-- 
Na dworze jest mrok,
W pociągu jest tłok,
Zaczyna się więc sielanka,
On objął ją wpół,
Ona gruba jak wół,
Bo pod paltem schowana rąbanka.
Re: Strona pdf na pół
#17079
Author: AMX
Date: Sat, 22 Oct 2011 20:48
26 lines
1886 bytes
On Sat, 22 Oct 2011 19:03:39 +0000 (UTC), 
Jarosław Sokołowski <jaros@lasek.waw.pl> wrote:

>> Mam dokument z 2 stronami na 1, potrzebuję odzyskać znowu
>> pojedyncze strony, czyli ,,przeciąć'' każdą stronę na pół
>> i przeskalować. Odwrotność psnup. Czy jest to wykonalne?
>> A jeśli to jak?
>
> Może za pomocą pdfTeXa? Potrafi używać plików PDF jako ilustracji,
> więc można wklejać poszczególne półstrony wejściowego PDFa na
> kolejnych stronach generowanych przez TeXa, odpowiednio je kadrując
> i przesuwając. Kiedyś miałem podobny problem z plikiem PS i poszło
> gładko po napisaniu krótkiego skryptu (TeX + dvips zamiast pdfTeX).
>

Dziękuję.

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.

   AMX

-- 
adres w rot13
Nyrxfnaqre Znghfmnx r-znk@b2.cy
Re: Strona pdf na pół
#17080
Author: Jarosław Sokołowski
Date: Sat, 22 Oct 2011 21:16
38 lines
2283 bytes
Pan AMX napisał:

>>> Mam dokument z 2 stronami na 1, potrzebuję odzyskać znowu
>>> pojedyncze strony, czyli ,,przeciąć'' każdą stronę na pół
>>> i przeskalować. Odwrotność psnup. Czy jest to wykonalne?
>>> A jeśli to jak?
>>
>> Może za pomocą pdfTeXa? Potrafi używać plików PDF jako ilustracji,
>> więc można wklejać poszczególne półstrony wejściowego PDFa na
>> kolejnych stronach generowanych przez TeXa, odpowiednio je kadrując
>> i przesuwając. Kiedyś miałem podobny problem z plikiem PS i poszło
>> gładko po napisaniu krótkiego skryptu (TeX + dvips zamiast pdfTeX).
>
> Dziękuję.
>
> 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.

Z plikiem EPS to się robi tak:

\special{PSfile=plik.ps
    llx=11
    lly=22
    urx=33
    ury=44
    rwi=1000 clip}

Numerki określające rogi "Lower Left" i "Upper Right" obrazka oraz
opcjonalne "rwi" i/lub "rhi" (szerokość i wysokość po przeskalowaniu)
podawane są w punktach postscriptowych czyli TeXowych "bp". Dla
wycięcia połowy strony kluczowym zaklęciem jest oczywiście "clip".

Spodziewam się, że ta TeXnika ma swój odpowiednid w dziedzinie PDF
i pdfTeX -- ale tego nigdy nie robiłem.

-- 
Jarek
Re: Strona pdf na pół
#17081
Author: Tomasz Sowa
Date: Sun, 23 Oct 2011 12:16
82 lines
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
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads