Discussion:
A6-PDF auf A4 drucken und als Karteikarten zuschneiden
(zu alt für eine Antwort)
Markus Gail
2006-08-04 10:17:09 UTC
Permalink
Hallo!

Wie kann man folgende Aufgabe lösen?: Nehmen wir an, wir haben ein PDF
mit Karteikarten mit fortlaufender Numerierung im Format A6.

Die Kopiervorlage soll beim Kopierladen in Form von A4-Blättern
eingereicht werden.

Die A4-Kopien sollen dann zweimal geschnitten werden, so daß vier
Karteikartenstapel herauskommen.

Der erste Stapel enthält dann beispielsweise die Karteikarten 1 bis 40,
der daneben die Karteikarten von 41 bis 80, der daneben die von 81 bis
120, und der vierte die von 121 bis 160.

Am Schluß legt man die vier Karteikartenstapel in der richtigen
Reihenfolge aufeinander und hat einen Stapel mit den Karteikarten 1 bis
160 in der richtigen Reihenfolge.

Für andere Konstellationen gibt es pdfnup, aber damit würde jede Seite
mir vier fortlaufenden Karteikarten erzeugt, was unnötigen
Sortieraufwand bedeuten würden.

Hat jemand eine Idee, wie man aus einem A6-PDF eine solche
A4-Kopiervorlage machen könnte?

Vorhanden: Mac OS X Panther, gwTeX (teTeX).

Danke!

M.
Rolf Niepraschk
2006-08-04 11:59:45 UTC
Permalink
Post by Markus Gail
Hallo!
Wie kann man folgende Aufgabe lösen?: Nehmen wir an, wir haben ein PDF
mit Karteikarten mit fortlaufender Numerierung im Format A6.
Die Kopiervorlage soll beim Kopierladen in Form von A4-Blättern
eingereicht werden.
...

Du könntest es mit "pdfpages" probieren. Damit vier Seiten auf ein Blatt
zu bekommen, ist sicher nicht schwierig. Du kannst nun für jede der vier
Seiten berechnen, welche Seite aus dem Hauptdokument konkret verwendet
werden muss. Hilfreich ist es dabei zu wissen, wieviel Seiten das
Hauptdokument hat. "pdfpages" weiß das und Du kannst es sicher irgendwie
für Deine Zwecke verwenden.

...Rolf
Markus Merkl
2006-08-04 12:33:59 UTC
Permalink
Post by Markus Gail
Hat jemand eine Idee, wie man aus einem A6-PDF eine solche
A4-Kopiervorlage machen könnte?
psbook?
--
Markus

It is easier for a camel to pass through the eye of a needle if it is
lightly greased.
-- Kehlog Albran, "The Profit"
Uwe Siart
2006-08-04 12:39:52 UTC
Permalink
Post by Markus Gail
Wie kann man folgende Aufgabe lösen?: Nehmen wir an, wir haben ein PDF
mit Karteikarten mit fortlaufender Numerierung im Format A6.
Der erste Stapel enthält dann beispielsweise die Karteikarten 1 bis 40,
der daneben die Karteikarten von 41 bis 80, der daneben die von 81 bis
120, und der vierte die von 121 bis 160.
Kannst du anstelle von PDF auch PostScript verwenden?

Die Programme 'pstops' und 'psbook' aus der psutils-Suite können sowas.
Jedenfalls kann man damit die Seiten so umsortieren, dass ein Bündel von
Druckbögen herauskommt. Dein Problem ist ähnlich, wenn nicht identisch.

Also erst umsortieren mit 'pstops' und dann montieren mit 'psnup'.
--
Uwe
Markus Ueberall
2006-08-04 13:22:43 UTC
Permalink
Hallo,
Post by Uwe Siart
Post by Markus Gail
Wie kann man folgende Aufgabe lösen?: Nehmen wir an, wir haben ein PDF
mit Karteikarten mit fortlaufender Numerierung im Format A6.
Kannst du anstelle von PDF auch PostScript verwenden?
Die Programme 'pstops' und 'psbook' aus der psutils-Suite können sowas.
Also erst umsortieren mit 'pstops' und dann montieren mit 'psnup'.
Und falls pdf2ps tatsächliche ein Option ist, geht das mit einigen
zusätzlichen Tools direkt hiermit (die Ausgangsseiten werden dabei
verkleinert, aber eine Repositionierung ohne Verkleinerung ist
allgemeiner auch mittels psselect möglich):

#!/bin/sh
# Dieses Script erzeugt aus einer PS-Eingabedatei mit Karteikarten
# (welche mit einer leeren Seite enden muss!) eine Temporaerdatei mit
# umsortierten Seiten, welche danach mittels psnup rekombiniert werden
PAGES=`grep "Pages: [0-9]" $1| sed -e "s/[^0-9]*//"`
SELECT=`awk 'BEGIN { $1=""; j=int(('$PAGES'+3-1)/4); \
for (i = 1; i <= j; i++) { for (k = 0; k <= 3; k++) \
{ if ((i+j*k) <= '$PAGES') $1=$1","(i+j*k); else $1=$1",'$PAGES'"; \
} } print substr($1,2) }'`
psselect -p$SELECT $1 `basename $1 .ps`.reordered.ps
psnup -4 `basename $1 .ps`.reordered.ps `basename $1 .ps`.print.ps

Ad astra, Markus

Andreas Matthias
2006-08-04 12:38:51 UTC
Permalink
Post by Markus Gail
Wie kann man folgende Aufgabe lösen?: Nehmen wir an, wir haben ein PDF
mit Karteikarten mit fortlaufender Numerierung im Format A6.
Die Kopiervorlage soll beim Kopierladen in Form von A4-Blättern
eingereicht werden.
Die A4-Kopien sollen dann zweimal geschnitten werden, so daß vier
Karteikartenstapel herauskommen.
Der erste Stapel enthält dann beispielsweise die Karteikarten 1 bis 40,
der daneben die Karteikarten von 41 bis 80, der daneben die von 81 bis
120, und der vierte die von 121 bis 160.
Alles Karten einmal in die Luft werfen und hoffen, dass sie in
der richtigen Reihenfolge landen. In TeX könnte das etwa so
aussehen:

\documentclass[a4paper,landscape,pagesize]{scrartcl}
\usepackage{pdfpages}

\makeatletter
\newcommand{\shuffle}[2][]{%
\begingroup
\pdfximage{#2}%
\@tempcnta\pdflastximagepages
\@tempcnta\numexpr(\@tempcnta*10/4+4)/10\relax
\def\pages{}\@tempcntb\z@
\@whilenum\@tempcntb<\@tempcnta\do{%
\advance\@tempcntb\@ne
\count@\@tempcntb
\@for\foo:=0,1,2,3\do{%
\def\page{\the\count@}%
\edef\page{\ifnum\count@>\pdflastximagepages\else\the\count@\fi}%
\edef\pages{\pages,\page}%
\advance\count@\@tempcnta
}%
}%
\edef\pages{\expandafter\@gobble\pages}%
\edef\options{[#1,nup=2x2,pages={\pages}]}%
\expandafter\includepdf\options{#2}%
\endgroup
}
\makeatother

\begin{document}
\shuffle[frame]{t2.pdf}
\end{document}


Ciao
Andreas
Loading...