從客戶名單領取支票集

從客戶名單領取支票集

我不知道這是否適合這裡,但這是我的問題:

我想從客戶名單中製作一組索賠檢查,以便可以將它們全部列印在同一個 PDF 中。

我正在尋找一種重複演算法,可以透過管道輸入名稱和地址等,並將它們填充到索賠檢查模板中,並且每頁重複 3 或 4 次,然後繼續與其餘客戶端一起進入下一頁。最後,我尋求使用單一 PDF 來列印整個索賠支票集,並在每張支票之間添加穿孔的切割線。


無關:這與當前的問題沒有任何關係,但是 LaTeX 提供的任何防偽措施是否可以包含在我的索賠檢查範本中?


NB- 我實際上沒有想要實施的索賠檢查模板,但也許您可以提供一些關於我如何設計檢查的印刷建議。我知道我在某個地方需要我的信息,包括索賠人的信息、我的商業圖形、支票 ID 代碼和一些防偽措施。

答案1

這是使用 的起點datatool。我不會討論支票(佈局)的設計,因為它是一個單獨問題的候選人。

\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}

在此輸入影像描述

答案2

我的範例展示如何在沒有任何 LaTeX 套件的情況下完成此任務。假設我們的文件names.csv格式如 Kumars 答案所示。

% 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

請注意,該人的性別是從第二個字母(先生或女士)開始掃描的,並且此資訊用於單字“他”或“她”。

答案3

該解決方案無恥地寄生在 Harish Kumar 的數據上,textmerg用於合併:

\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}

索賠支票

相關內容