generate multiple files from one source
Dear list, I have the following sample: \setuppapersize[A8, landscape] \starttext \dorecurse{10}{ \startpagemakeup[align=center] This is invoice number \recurselevel. Customer name from CSV file. Other data from the same CSV file. \stoppagemakeup} \stoptext How can I get new PDF documents with a one invoice per document instead of new page breaks? I need PDF documents with only one invoice (but with the correct number) and also a single PDF document with all invoices. Of course, my real documents are more complex. What I need is a file breaking command. Appending -1, -2, -3... -n to the PDF file name would be fine for me. How could I achieve this in the ConTeXt compilation? Many thanks for your help, Pablo -- http://www.ousia.tk
Am 2017-02-18 um 23:27 schrieb Pablo Rodriguez
I wouldn’t be surprised if ConTeXt can do that on its own, but I don’t know how, and I’d use a postprocessor like pdftk to split a multipage file into single pages. Greetlings, Hraban --- http://www.fiee.net http://wiki.contextgarden.net GPG Key ID 1C9B22FD
On 2/18/2017 11:27 PM, Pablo Rodriguez wrote:
just make one invoice where you pass the variable data on the command line and then make a small lua script that loops and processes each variant Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 02/19/2017 11:41 AM, Hans Hagen wrote:
Many thanks for your reply, Hans. I’m afraid that we have 35 different types of documents, with optional content implemented through modes. CSV is handled by the handlecsv module by Jaroslav Hajtmar (which in turn uses LuaTeX code from ConTeXt). My Lua script would have to replicate at least part of this functionality. I don’t say it is impossible. But I’m sure it is impossible to me (I cannot code). Or at least, it would be unnecessarily complex. A good compromise would be a Lua script that copies the original file with only one page in each copied file (in some documents, I need two pages, but this will come later). I mean, those documents have metadata information and printing options which need to be present in all copies. I think this should be an easy hack, but I don’t know where to search. The “LuaTeX Reference Manual” contains “12.3 The epdf library”. “MkIV Hybrid Technology” has the chapter “12 Including pages”. I will appreciate any help with this script. Pablo -- http://www.ousia.tk
Hello Pablo,
I am using a new calling of ConTeXt ie. compile new source code from the main source code. It is possible due \executesystemcommand macro. Necessary parameters You can pass to new compiling source. For example:
\executesystemcommand{context --result invoice-\cA.pdf --arguments = "cA = \cA" servingfile.tex}.
This possibility create a particular PDF file for recipient \cA.
PS 2Pablo only: This option is possible with handleCSV module. The possibility of using handleCSV module I will publish to GitLab repository as soon as possible - today or tomorrow. I was very busy this weekend.
Jaroslav Hajtmar
Dne 18.02.17 23:27, ntg-context za uživatele Pablo Rodriguez
On 02/19/2017 08:02 PM, Jaroslav Hajtmar wrote:
Hi Jaroslav, it would be great to achieve that with handlecsv. Many thanks for your reply, Pablo
participants (4)
-
Hans Hagen
-
Henning Hraban Ramm
-
Jaroslav Hajtmar
-
Pablo Rodriguez