PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Etiketten Layout gestalten (Bild(er) und Text)



loro
28-05-2019, 17:27
Hallo zusammen, ich möchte ein paar Etiketten erstellen, aber ich fange mal von vorne an. In einer CSV Datei habe ich mehrere Datensätze. Diese lese ich in einem selbst geschriebenen Programm ein, welches mir dann jeweils einen Datensatz auf eine Etikett der Firma Herma No.9010 platzieren soll. Das Programm erzeugt eine tex Datei und dann mit MikTex ein PDF.
Ein Etikett hat die Maße 75 mm x 40 mm (Breite x Höhe).
Aktuell platziere ich einen textblock, der immer an der oberen rechten Ecke des entsprechenden Etiketts, auf der DIN A4 Seite positioniert ist. In dem Textblock steckt dann eine Tabelle mit vier Spalten und drei Reihen. Die letzte Spalte geht über alle Reihen und beinhaltet ein Bild. Die Reihen eins und zwei beinhalten Text in unterschiedlichen Schriftgrößen. die Letzte Reihe geht über drei Spalten und beinhaltet ebenfalls ein Bild.
Jetzt hätte ich halt gerne, das der gesamte zur Verfügung stehender Platz auf dem Etikett ausgenutzt wird. also Das Bild, welches über die drei Reihen geht soweit wie möglich rechts auf dem Etikett. Das Bild über die drei Spalten, so weit wie möglich unten. So das ich in der Schriftgröße noch etwas variieren kann.

Mini Beispiel:



\documentclass[11pt, a4paper, parskip=half]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=2.5cm, right=2.4cm,top=2.9cm,bottom=0.9cm, ignoreall, bindingoffset=0mm]{geometry}
\usepackage[absolute]{textpos}
\usepackage{multirow}
\usepackage{xcolor,colortbl}


\begin{document}
\noindent%
\begin{textblock*}{75mm}(30mm,29mm)
\begin{table}[]
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{clcc}
\multicolumn{3}{c}{\tiny{TEXT Kleine Schrift}} & \multirow{3}{*}{\includegraphics[height=39mm,keepaspectratio]{bild01.jpg}} \\
\multicolumn{3}{c}{\cellcolor[rgb]{.8,1,.6}\huge{\textbf{Text große Schrift}}} &\\
\multicolumn{3}{c}{\includegraphics[height=39mm,keepaspectratio]{bild02.jpg}} &
\end{tabular}
\end{table}
\end{textblock*}
\end{document}


Das die Tabelle eine unglückliche Wahl ist weiß ich, nur leider weiß ich keine bessere Lösung. Ich habe schon etwas mit \parbox herumgespielt aber keine zufriedenstellendes Ergebnis erzeugt. Hat jemand eine Idee wie ich das besser machen kann?

Vielen Dank im voraus,
Loro

rais
31-05-2019, 08:42
Hallo,
ich seh jetzt nicht, wozu Du erst Spalten definierst, die Du dann eh wieder zusammenfasst...
Und Deine Bilder hab ich auch nicht, zumindest deren Zielgröße (x*y) solltest Du uns wissen lassen.
Hier ein Beispiel mit tikz (die hier verwendeten Bilder hast Du, wenn das mwe-Paket bei Dir installiert ist)


\documentclass[tikz]{standalone}
\usepackage[T1]{fontenc}
\usepackage{graphicx}

\begin{document}
\begin{tikzpicture}[minimum size=0pt, inner sep=0pt]
\draw (7.5,0) node[anchor=south east]{\includegraphics[height=39mm,width=9mm]{example-image-a}};
\draw (3,3.8) node{\tiny TEXT Kleine Schrift};
\draw[inner sep=5pt] (0,2.5) node[rectangle, fill=green!30, anchor=south west]{\huge\textbf{Text große Schrift}};
\draw(0,0) node[anchor=south west]{\includegraphics[height=25mm,width=60mm]{example-image-b}};
\end{tikzpicture}
\end{document}

BTW: Schriftgrößenbefehle erwarten kein Argument, \tiny{A}B würde nicht nur A klein ausgeben. Das wäre {\tiny A}B (ist hier nicht nötig, weil Du es innerhalb einer Tabellenzelle aufrufst, die stellt eh eine Gruppe dar)

VG

loro
03-06-2019, 16:15
Hi rais, vielen Dank für deine Antwort.
in den Spalten steht, falls die Information gesetzt ist (Name, Vorname, Titel) wenn was fehlt, dann wird die Spalte zusammen gefasst, das Beispiel was ich hier habe hat nur eine Information. Das mit den Bilder im mwe-Paket kannte ich noch nicht. Vielen Dank. Aber eine Frage habe ich noch. Wie würde ich denn deine Lösung als Block wiederholen, so das ich insgesamt 6 "Etiketten" in zwei Reihen auf eine DIN A4 Seite bekomme? In meiner Datei passe ich die Position in den Zeilen
\begin{textblock*}{75mm}(30mm,29mm) an in dem die 29mm durch 69mm bzw. 109mm etc. und dann die 30 durch 115mm ersetze.





\documentclass[11pt, a4paper, parskip=half]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=2.5cm, right=2.4cm,top=2.9cm,bottom=0.9cm, ignoreall, bindingoffset=0mm]{geometry}
\usepackage[absolute]{textpos}
\usepackage{multirow}
\usepackage{xcolor,colortbl}
\usepackage{graphicx}

\begin{document}
\noindent%
\begin{textblock*}{75mm}(30mm,29mm)
\begin{table}[]
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{clcc}
\multicolumn{3}{c}{\tiny TEXT Kleine Schrift} & \multirow{3}{*}{\includegraphics[height=39mm,width=10mm]{example-image-a}} \\
\multicolumn{3}{c}{\cellcolor[rgb]{.8,1,.6}\huge \textbf{Text Schrift}} &\\
\multicolumn{3}{c}{\includegraphics[height=20mm,keepaspectratio]{example-image-b}} &
\end{tabular}
\end{table}
\end{textblock*}

\noindent%
\begin{textblock*}{75mm}(30mm,69mm)
\begin{table}[]
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{clcc}
\multicolumn{3}{c}{\tiny TEXT Kleine Schrift} & \multirow{3}{*}{\includegraphics[height=39mm,width=10mm]{example-image-a}} \\
\multicolumn{3}{c}{\cellcolor[rgb]{.8,1,.6}\huge \textbf{Text Schrift}} &\\
\multicolumn{3}{c}{\includegraphics[height=20mm,keepaspectratio]{example-image-b}} &
\end{tabular}
\end{table}
\end{textblock*}

\end{document}



VG

rais
04-06-2019, 09:09
Du könntest so eine tikzpicture-Umgebung auch innerhalb eines textblocks aufrufen.
Oder Du überlässt das Positionieren tikz, siehe dazu `texdoc pgfmanual', Stichwort `current page'.
Oder Du bleibst bei standalone und lädst die damit erzeugte pdf mit \includegraphics wieder ein...
OTOH, wenn derselbe Block wiederholt werden soll, könntest Du auch so etwas versuchen


%vorweg:
\newsavebox\mybox
\sbox\mybox{\begin{tikzpicture}%
%...
\end{tikzpicture}}

%und überall da, wo das Teil genutzt werden soll:
\usebox\mybox


VG