Conjunto de cheques de reclamo de una lista de clientes

Conjunto de cheques de reclamo de una lista de clientes

No sé si esto encaja aquí, pero aquí está mi pregunta:

Me gustaría realizar un conjunto de verificaciones de reclamos de una lista de clientes para que puedan imprimirse todos juntos en el mismo PDF.

Estoy buscando un algoritmo de repetición que canalice nombres y direcciones, etc., los complete en una plantilla de verificación de reclamos y los repita, digamos, 3 o 4 veces por página, y luego continúe con la página siguiente con los clientes restantes. Al final, busco tener un único PDF para imprimir todo el conjunto de cheques de reclamo con líneas de corte perforadas entre cada cheque.


Extraño: esto no tiene nada que ver con la pregunta que nos ocupa, pero ¿hay alguna medida de falsificación que ofrezca LaTeX que pueda incluir en mi plantilla de verificación de reclamo?


nótese bien- En realidad, no tengo una plantilla para el cheque de reclamo que me gustaría implementar, pero tal vez podría ofrecerme algún consejo tipográfico sobre cómo podría diseñar el cheque. Sé que necesito mi información en alguna parte, la del reclamante, los gráficos de mi negocio, un código de identificación de cheque y algunas medidas falsificadas.

Respuesta1

Aquí hay un punto de partida usando datatool. No discutiré el diseño del cheque (diseño), ya que es candidato para una pregunta separada.

\documentclass{article}
\usepackage[a4paper,textheight=5in,left=1in,right=1in]{geometry}   %% 5in only for demo
\usepackage{xcolor}%
\usepackage{adjustbox}
%
\usepackage{filecontents}
\begin{filecontents*}{names.csv}
    number,Name,money
    1,Mr.\,Sreeram P.,12
    2,Mr.\,Rajaram K.,20
    3,Mr.\,Dhanraj Julien,35
    4,Ms.\,Lalitha S.,50
    5,Mr.\,Sreeram P.,2
    6,Mr.\,Rama Anvesh Reddy,400
    7,Ms.\,Shobana R.,65
    8,Ms.\,Archana D.,45
    9,Mr.\,Selvakumar R.,54
    10,Ms.\,Harthi M. G.,14
\end{filecontents*}
\usepackage{datatool}

\begin{document}
%\sloppy
\DTLloaddb{names}{names.csv}
\pagestyle{empty}
\DTLforeach{names}{%
\name=Name,\money=money}{%
\par\noindent
\begin{minipage}{\textwidth}
\vskip\baselineskip
This is to remember that\, {\bfseries\name}\,  has to give a sum of {\bfseries\$\money}\, to me which he is reluctant to give.

\vskip0.5\baselineskip
\hspace*{-1in}\makebox[\paperwidth][c]{\Huge\color{gray!40}\dotfill}
%% 1in is the left margin
\end{minipage}
}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Mi ejemplo muestra cómo realizar esta tarea sin ningún paquete LaTeX. Supongamos que tenemos el archivo names.csven el formato que se muestra en la respuesta de Kumar.

% in preamble:
\newread\infile
\def\printletters #1 {\bgroup \endlinechar=-1
   \openin\infile=#1 \read\infile to\tmp \printlettersA
}
\def\printlettersA{\ifeof\infile \egroup \else
   \read\infile to\tmp
   \ifx\tmp\empty \else  \expandafter\printlettersB\tmp\par \fi
   \expandafter \printlettersA\fi
}
\def\printlettersB #1,#2#3#4,#5\par{\def\sex{#3}\def\name{#2#3#4}\def\money{#3}\printpage}

\def\printpage{%
   \bigskip
   This is to remember that {\bf\name}  has to give a sum of
   {\bf\$\money} to me which
   \if s\sex s\fi he
   is reluctant to give.
   \bigskip\hrule\bigskip % or \vfill\eject or...
}

% in document:
\printletters names.csv

Tenga en cuenta que el sexo de la persona se escanea a partir de la segunda letra (Sr. o Sra.) y esta información se utiliza para la palabra "él" o "ella".

Respuesta3

Parasitaria descaradamente de los datos de Harish Kumar, esta solución utiliza textmergpara la fusión:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{textmerg}%
\usepackage{filecontents}
\begin{filecontents*}{names.dat}
    Mr
    Sreeram
    P.
    12
    Mr
    Rajaram
    K.
    20
    Mr
    Dhanraj
    Julien
    35
    Ms
    Lalitha
    S.
    50
    Mr
    Sreeram
    P.
    2
    Mr
    Rama Anvesh
    Reddy
    400
    Ms
    Shobana
    R.
    65
    Ms
    Archana
    D.
    45
    Mr
    Selvakumar
    R.
    54
    Ms
    Harthi
    M. G.
    14
\end{filecontents*}

\begin{document}

\pagestyle{empty}

\Fields{\honorific\surname\firstname\amount}
\Merge{names.dat}{%
  \hrule
  \bigskip\par
  \noindent This is a reminder that {\bfseries\honorific{} \firstname{} \surname{}} owes me the sum of {\bfseries\pounds\amount}.\bigskip\par
  \hrule}
\end{document}

cheques de reclamo

información relacionada