Discussion:
Etiketten gesammelt drucken mit pdfpages (pdfjam)
(zu alt für eine Antwort)
Tim Landscheidt
2021-09-02 10:24:03 UTC
Permalink
Hi,

ich möchte Avery-3657-Etiketten (4,85 cm * 2,54 cm, 40 Stück
pro Seite, 0,8 cm Rand links und rechts, 2,15 cm Rand oben
und unten) über einen längeren Zeitraum sammeln und dann
drucken. Dazu erstelle ich PDFs in der Größe 4,85 cm *
2,54 cm mit groff und CUPS-PDF.

Diese PDFs möchte ich nun zu A4-Seiten montieren und probie-
re dazu pdfpages bzw. den Wrapper pdfjam aus. Letzterer er-
zeugt den LaTeX-Code:

| \batchmode
| \documentclass[a4paper,]{article}
| \usepackage[utf8]{inputenc}
| \usepackage{pdfpages}

| \begin{document}
| \includepdfmerge[frame=true,nup=4x10]{source-1.pdf,-,source-2.pdf,-,source-3.pdf,-,source-4.pdf,-,source-5.pdf,-,source-6.pdf,-,source-7.pdf,-,source-8.pdf,-,source-9.pdf,-,source-10.pdf,-,source-11.pdf,-,source-12.pdf,-}
| \end{document}

und sendet ihn an pdflatex.

Das erzeugt jedoch ein A4-PDF, bei dem die Etiketten etwa
die Größe 5,23 cm * 2,76 cm haben, das heißt, vier Etiketten
füllen die Seitenbreite vollständig aus und oben gibt es ei-
nen Rand von 1 cm.

Nutze ich die Option „offset“:

| \includepdfmerge[frame=true,offset=0.8cm -2.15cm,nup=4x10]{[…]

wird das gesamte Druckbild um 0,8 cm nach rechts und 2,15 cm
nach unten verschoben, das heißt, die Etiketten werden immer
noch „zu groß“ gedruckt und bei der rechten Spalte wird 2 *
0,8 cm = 1,6 cm gar nicht gedruckt.

Wie kann ich mit pdfpages ein A4-PDF erzeugen mit dem Lay-
out:

| YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
| X 0 | 1 | 2 | 3 X
| X--------+--------+--------+--------X
| X 4 | 5 | 6 | 7 X
| X--------+--------+--------+--------X
| X 8 | 9 | 10 | 11 X
| X--------+--------+--------+--------X
| X 12 | 13 | 14 | 15 X
| X--------+--------+--------+--------X
| X 16 | 17 | 18 | 19 X
| X--------+--------+--------+--------X
| X 20 | 21 | 22 | 23 X
| X--------+--------+--------+--------X
| X 24 | 25 | 26 | 27 X
| X--------+--------+--------+--------X
| X 28 | 29 | 30 | 31 X
| X--------+--------+--------+--------X
| X 32 | 33 | 34 | 35 X
| X--------+--------+--------+--------X
| X 36 | 37 | 38 | 39 X
| YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

wobei „X“ 0,8 cm breit und „Y“ 2,15 cm hoch ist? Gibt es an-
dere Werkzeuge für Linux, die diese Aufgabe eventuell intui-
tiver meistern können?

TIA,
Tim
Detlef Sax
2021-09-02 18:41:40 UTC
Permalink
On Thu, 02 Sep 2021 10:24:03 +0000, Tim Landscheidt wrote:
[...]
Post by Tim Landscheidt
wobei „X“ 0,8 cm breit und „Y“ 2,15 cm hoch ist? Gibt es an-
dere Werkzeuge für Linux, die diese Aufgabe eventuell intui-
tiver meistern können?
\usepackage{labels}

http://tug.ctan.org/macros/latex/contrib/labels/labels.pdf

Damit habe ich mal Visitenkarten und Logininformationen zum aufkleben :)
hergestellt.

Detlef
--
https://www.12schrittefrei.de/
http://www.noart.de/
Tim Landscheidt
2021-09-03 10:45:14 UTC
Permalink
Post by Detlef Sax
[…]
Post by Tim Landscheidt
wobei „X“ 0,8 cm breit und „Y“ 2,15 cm hoch ist? Gibt es an-
dere Werkzeuge für Linux, die diese Aufgabe eventuell intui-
tiver meistern können?
\usepackage{labels}
http://tug.ctan.org/macros/latex/contrib/labels/labels.pdf
Damit habe ich mal Visitenkarten und Logininformationen zum aufkleben :)
hergestellt.
Das hilft mir leider nicht, da ich Etiketten aus verschie-
densten Quellen und mit unterschiedlichen „Themen“ sammeln
und dann ausdrucken will. Das heißt, meine Eingaben werden
immer PDFs sein.

Tim
Ulrike Fischer
2021-09-03 16:49:13 UTC
Permalink
Post by Tim Landscheidt
Hi,
Wie kann ich mit pdfpages ein A4-PDF erzeugen mit dem Lay-
Ich würde ja nicht pdfpages nehmen, sondern einfach
\includegraphics.

\documentclass{article}
\usepackage[a4paper, hmargin = 0.8cm, vmargin=2.15cm]{geometry}
\pagestyle{empty}
\begin{document}\raggedright
\includegraphics{bild1}\hspace{0pt}%
\includegraphics{bild2}\hspace{0pt}%
.
.
.
\end{document

ggfs. noch mit \lineskip=0pt oder \nointerlineskip (das hängt von
den Etiketten ab.
--
Ulrike Fischer
http://www.troubleshooting-tex.de/
Dr Eberhard W Lisse
2021-09-04 16:24:04 UTC
Permalink
In einer TeX Gruppe ist das auch schon mal eine Ansage :-)-O

el

On 2021-09-03 23:40 , Tim Landscheidt wrote:
[...]
Das ist mir leider zu viel LaTeX für den Anwendungsfall.
[...]
Tim Landscheidt
2021-09-04 16:57:47 UTC
Permalink
Post by Dr Eberhard W Lisse
In einer TeX Gruppe ist das auch schon mal eine Ansage :-)-O
[…]
Ausführlicher formuliert: Wenn ich Ulrikes Vorschlag folgen
würde, wäre ich die nächsten Monate damit beschäftigt, in
jede der möglichen Stolperfallen einmal hineinzutreten und
dann hier um Hilfe zu bitten, um dann in ein paar Jahren,
wenn das Script aus welchen Gründen auch immer nicht mehr
funktioniert, den Prozess zu wiederholen :-). Da ist es für
alle Beteiligten IMHO nervenschonender, wenn man die Parame-
ter verdeutlicht, die eine Lösung haben muss.

(Ich verstehe auch nicht, warum ein AFAICT sehr beliebtes
Werkzeug wie pdfjam/pdfpages auf einer kompletten TeX-In-
stallation aufsetzen muss, aber auf Wissen bezüglich
pdfpages hoffe ich natürlich zunächst in einer TeX-Gruppe.)

Tim
Christian Gollwitzer
2021-09-04 18:05:02 UTC
Permalink
Post by Tim Landscheidt
Post by Dr Eberhard W Lisse
In einer TeX Gruppe ist das auch schon mal eine Ansage :-)-O
[…]
Ausführlicher formuliert: Wenn ich Ulrikes Vorschlag folgen
würde, wäre ich die nächsten Monate damit beschäftigt, in
jede der möglichen Stolperfallen einmal hineinzutreten und
dann hier um Hilfe zu bitten, [...]
Verständlich. Ich benutze auch gerne pdfjam, bin aber beim Verbinden von
unterschiedlich großen PDFs auch mal daran gescheitert, dass es "zu
intelligent" war.

Eine gute ALternative ist "pdftk", da steckt kein LaTeX dahinter,
sondern es ist ein eigenständiges Java-Programm, das PDF lesen und
schreiben kann. Evtl, kannst Du ja auch damit Dein Ziel erreichen?

Christian
Tim Landscheidt
2021-09-06 11:36:50 UTC
Permalink
Post by Christian Gollwitzer
Post by Tim Landscheidt
Post by Dr Eberhard W Lisse
In einer TeX Gruppe ist das auch schon mal eine Ansage :-)-O
[…]
Ausführlicher formuliert: Wenn ich Ulrikes Vorschlag
folgen
würde, wäre ich die nächsten Monate damit beschäftigt, in
jede der möglichen Stolperfallen einmal hineinzutreten und
dann hier um Hilfe zu bitten, [...]
Verständlich. Ich benutze auch gerne pdfjam, bin aber beim
Verbinden von unterschiedlich großen PDFs auch mal daran
gescheitert, dass es "zu intelligent" war.
Eine gute ALternative ist "pdftk", da steckt kein LaTeX
dahinter, sondern es ist ein eigenständiges Java-Programm,
das PDF lesen und schreiben kann. Evtl, kannst Du ja auch
damit Dein Ziel erreichen?
pdftk taucht häufig bei den Suchanfragen mit viel Lob auf,
aber ist unter Fedora leider seit einigen Jahren nicht mehr
gepackt (und Software neben der Distribution zu installieren
versuche ich gerade bei selten benutzten Werkzeugen zu ver-
meiden).

Aber das „zu intelligent“ hat man in dem Druckbereich leider
häufiger. Da muss man dann gelegentlich damit kämpfen, dass
das PDF-Anzeigeprogramm vor dem Drucken etwas tut, und CUPS
auch noch, und vielleicht möchte der Drucker selbst auch
noch mitreden.

Tim

Ulrich Diez
2021-09-03 21:33:06 UTC
Permalink
Post by Tim Landscheidt
ich möchte Avery-3657-Etiketten (4,85 cm * 2,54 cm, 40 Stück
pro Seite, 0,8 cm Rand links und rechts, 2,15 cm Rand oben
und unten) über einen längeren Zeitraum sammeln und dann
drucken. Dazu erstelle ich PDFs in der Größe 4,85 cm *
2,54 cm mit groff und CUPS-PDF.
Diese PDFs möchte ich nun zu A4-Seiten montieren und probie-
re dazu pdfpages bzw. den Wrapper pdfjam aus. Letzterer er-
| \batchmode
| \documentclass[a4paper,]{article}
| \usepackage[utf8]{inputenc}
| \usepackage{pdfpages}
| \begin{document}
| \includepdfmerge[frame=true,nup=4x10]{source-1.pdf,-,source-2.pdf,-,source-3.pdf,-,source-4.pdf,-,source-5.pdf,-,source-6.pdf,-,source-7.pdf,-,source-8.pdf,-,source-9.pdf,-,source-10.pdf,-,source-11.pdf,-,source-12.pdf,-}
| \end{document}
und sendet ihn an pdflatex.
Das erzeugt jedoch ein A4-PDF, bei dem die Etiketten etwa
die Größe 5,23 cm * 2,76 cm haben, das heißt, vier Etiketten
füllen die Seitenbreite vollständig aus und oben gibt es ei-
nen Rand von 1 cm.
[...]
Post by Tim Landscheidt
Wie kann ich mit pdfpages ein A4-PDF erzeugen mit dem Lay-
Ich weiss zwar nicht, was pdfjam ist, aber im
LaTeX-Code brauchst Du vom pdfpages-Paket die Option
"noautoscale=true":


\batchmode
\documentclass[a4paper,]{article}
\usepackage[utf8]{inputenc}
\usepackage{pdfpages}
\begin{document}
\includepdfmerge[frame=true,nup=4x10,noautoscale=true]{source-1.pdf,-,source-2.pdf,-,source-3.pdf,-,source-4.pdf,-,source-5.pdf,-,source-6.pdf,-,source-7.pdf,-,source-8.pdf,-,source-9.pdf,-,source-10.pdf,-,source-11.pdf,-,source-12.pdf,-}
\end{document}



-----------------------------------------------------------------

Du kannst übrigens Etiketten auch in .tex-Dateien sammeln.

Ich mache das hin und wieder mit einem Loop-Makro
\Etikettenloop
, welches eine Reihe von unbegrenzten Argumenten verarbeitet,
von denen ein jedes den Text für ein Etikett enthält.

\Etikettenloop setzt jedes diesr Argumente in eine Box,
die die Maße eines Etiketts hat, und gibt diese Box dann per
\shipout als einzelne kleine Seite der .pdf-Datei aus.

So entsteht dann eine .pdf-Datei, bei der jede Seite
ein Etikett enthält und die Maße eines Etiketts hat.

Das kann dann zB mittels pdf-pages zu einem ausdruckbaren
Bogen mit vielen neben- und untereinander stehenden
Etiketten weiterverarbeitet werden.

Ich habe da auch noch Hilfsmakros, um den Text auf einem
Etikett auszurichten.



\documentclass{article}
\usepackage{varwidth}

\newbox\Etikettenbox
\newcommand\KeineEtikettenMehr{\KeineEtikettenMehr}
\newcommand\Etikettenhoehe{2.54cm}
\newcommand\Etikettenbreite{4.85cm}

\newcommand\Etikettloop[1]{%
% Bitte keine Fiesheiten!
% ZB in #1 keine unbalancierten \else..\fi verwenden.
\ifx\KeineEtikettenMehr#1\else
\setbox\Etikettenbox\vbox to \Etikettenhoehe{%
\hsize=\Etikettenbreite\relax
\sloppy\vskip-\parskip\leavevmode#1%
\par
\hrule height 0pt
% Das \hrule stellt sicher, dass die Box keine Tiefe bekommt.
% Denn die Tiefe könnte sonst über den unteren Rand des
% Etiketts hinausragen.
}%
\csname @ifundefined\endcsname{pdfpagewidth}{%
\csname @ifundefined\endcsname{pagewidth}{%
% Jössas! Ein altes dvi-Zeug, wo das "Papier"
% vom weiterverarbeitenden Programm,zB dem dvi-viewer,
% festgelegt wird.
}{%
\pagewidth=\wd\Etikettenbox
\pageheight=\ht\Etikettenbox
\advance\pageheight\dp\Etikettenbox
}%
}{%
\pdfpagewidth=\wd\Etikettenbox
\pdfpageheight=\ht\Etikettenbox
\advance\pdfpageheight\dp\Etikettenbox
}%
\shipout\vbox{\kern-1truein\hbox{\kern-1truein\box\Etikettenbox}}%
\expandafter\Etikettloop
\fi
}%

% Ein Makro, das ausgehend vom horizontalen Modus eine Box auf dem
% Etikett so platziert, dass das Etikett oben einen Rand von #1,
% unten mindestens einen Rand von #2, links einen Rand von #3, rechts einen
% Rand von mindestens #4 bekommt:
\newcommand\EtikettRandOULR[5]{%
\par\kern#1\relax
\vskip-\parskip\noindent\kern#3\relax
\vbox to \dimexpr\Etikettenhoehe-#1-#2\relax{\hsize=\dimexpr\Etikettenbreite-#3-#4\relax
\vskip-\parskip\leavevmode#5\par\hrule height 0pt
}%
\hfill\null\vfill
}%
% Ein Makro, das ausgehend vom horizontalen Modus eine Box auf dem
% Etikett zentriert platziert, die um #1 weniger hoch und um #2 weniger
% breit ist als das Etikett. Die minimalen Ränder sind dann #1/2 bzw #2/2.
\newcommand\EtikettKleinerVH[3]{%
\par\vfill
\vskip-\parskip\noindent\hfill
\vbox to \dimexpr\Etikettenhoehe-#1\relax{\hsize=\dimexpr\Etikettenbreite-#2\relax
\vskip-\parskip\leavevmode#3\par\hrule height 0pt
}%
\hfill\null\vfill
}%
% Ein Makro, das eine Box so schmal wie möglich setzt und im Etikett
% zentriert
\newcommand\EtikettBoxZentriert[1]{%
\par\vfill
\vskip-\parskip\noindent\hfill
\begin{varwidth}{\Etikettenbreite}\vskip-\parskip\leavevmode#1\end{varwidth}%
\hfill\null
\par\hrule height 0pt
\vfill
}%

\begin{document}

\parindent=0ex

\Etikettloop{%
\raggedright
Das Argument von Etiketttenloop kommt im horizontalen Modus
in eine Box der Breite \Etikettenbreite\space und der Hoehe \Etikettenhoehe.
Hier hat das Etikett keine Ränder. \vfill
}%
{%
\EtikettRandOULR{4mm}{2mm}{5mm}{5mm}{%
Frau\\
Maxime Mustermaennin\\
Musterstrasse 7\\\null\\
ABCD Musterstadt\vfill
}%
}%
{%
\EtikettKleinerVH{10mm}{6mm}{%
links oben \hfill rechts oben
\vfill
\hfill 5mm bzw 3mm Raender\hfill\null
\vfill
links unten \hfill gp \hfill rechts unten
}%
}%
{%
\EtikettBoxZentriert{%
\fbox{\vbox{\hbox{Text Bla}\hbox{Text}}}
}%
}%
{%
\EtikettBoxZentriert{%
Text Bla\\Text\hfill
}%
}%
{%
\EtikettBoxZentriert{%
Frau\\
Maxime Mustermaennin\\
Musterstrasse 7\\\null\\
ABCD Musterstadt\hfill
}%
}%
{\KeineEtikettenMehr}%

\end{document}



Mit freundlichem Gruß

Ulrich
Ulrich Diez
2021-09-03 21:39:17 UTC
Permalink
Weiss jemand, wie man google-groups davon abhalten kann,
Quelltext durch Entfernen von Leerzeichen an Zeilenanfängen
zu verstümmeln/unleserlich/unbrauchbar zu machen?

(Den Ratschlag, mir einen nntp-Provider zu suchen und einen
Newsreader zu benutzen, kenne ich seit Jahren.
Aber es gibt manchmal zeitweilig Lebensumstände, in
denen man beides nicht zur Verfügung hat.)

Ulrich
Tim Landscheidt
2021-09-03 21:49:50 UTC
Permalink
Post by Ulrich Diez
Post by Tim Landscheidt
ich möchte Avery-3657-Etiketten (4,85 cm * 2,54 cm, 40 Stück
pro Seite, 0,8 cm Rand links und rechts, 2,15 cm Rand oben
und unten) über einen längeren Zeitraum sammeln und dann
drucken. Dazu erstelle ich PDFs in der Größe 4,85 cm *
2,54 cm mit groff und CUPS-PDF.
Diese PDFs möchte ich nun zu A4-Seiten montieren und probie-
re dazu pdfpages bzw. den Wrapper pdfjam aus. Letzterer er-
| \batchmode
| \documentclass[a4paper,]{article}
| \usepackage[utf8]{inputenc}
| \usepackage{pdfpages}
| \begin{document}
| \includepdfmerge[frame=true,nup=4x10]{source-1.pdf,-,source-2.pdf,-,source-3.pdf,-,source-4.pdf,-,source-5.pdf,-,source-6.pdf,-,source-7.pdf,-,source-8.pdf,-,source-9.pdf,-,source-10.pdf,-,source-11.pdf,-,source-12.pdf,-}
| \end{document}
und sendet ihn an pdflatex.
Das erzeugt jedoch ein A4-PDF, bei dem die Etiketten etwa
die Größe 5,23 cm * 2,76 cm haben, das heißt, vier Etiketten
füllen die Seitenbreite vollständig aus und oben gibt es ei-
nen Rand von 1 cm.
[...]
Post by Tim Landscheidt
Wie kann ich mit pdfpages ein A4-PDF erzeugen mit dem Lay-
Ich weiss zwar nicht, was pdfjam ist, aber im
LaTeX-Code brauchst Du vom pdfpages-Paket die Option
\batchmode
\documentclass[a4paper,]{article}
\usepackage[utf8]{inputenc}
\usepackage{pdfpages}
\begin{document}
\includepdfmerge[frame=true,nup=4x10,noautoscale=true]{source-1.pdf,-,source-2.pdf,-,source-3.pdf,-,source-4.pdf,-,source-5.pdf,-,source-6.pdf,-,source-7.pdf,-,source-8.pdf,-,source-9.pdf,-,source-10.pdf,-,source-11.pdf,-,source-12.pdf,-}
\end{document}
[…]
Sorry, hatte Deine Antwort erst jetzt gesehen. „noautoscale“
ist genau die Option, die ich gesucht habe. Herzlichen Dank!

(pdfjam ist nur ein simpler Wrapper; um beispielsweise
„noautoscale=true“ als Option zu setzen, muss man lediglich
„--noautoscale true“ angeben.)

Tim
Lesen Sie weiter auf narkive:
Loading...