[NTG-context] Clipping multiple PDFs

Jethro Djan jthryeboah at gmail.com
Mon Aug 22 17:44:56 CEST 2022



Thanks for the solution Pablo. It works well.

I wanted to add more pdfs (which also has many pages) and found it was easier for me to reason in the lua side of things. This is what I have at the moment:

\starttext
\startluacode
  local function doc(fil)
    return fil..[[.pdf]]
  end

  local function disppdf(fname)
    n = 1 
    repeat 
      context.externalfigure({fname},{
        page = n,
        width = "200mm",
        scale = "950"
      })
      n = n + 1
    until n == context(context.noffigurepages)
  end

  local pdffiles = {"ass1", "ass2", "ass3", "ass4", "ass5", "ass6", "ass7", "ass8"}
  for index=1,#pdffiles do 
    local f = doc(pdffiles[index])
    context.getfiguredimensions({f})
    disppdf(pdffiles[index])
  end
\stopluacode
\stoptext

I didn’t know how to get an array (or indexed table or whatever you call it) in ConTeXt/Tex. My problem is now with context(context.noffigurepages). Am I calling it wrong? All I want to do is call \noffigurepages from the lua side. Is there something I am missing?

Jethro

> On 21 Aug 2022, at 4:41 PM, Pablo Rodriguez via ntg-context <ntg-context at ntg.nl> wrote:
> 
> On 8/18/22 02:13, jethro Reuel via ntg-context wrote:
>> Hello,
>> 
>> I am trying to put multiple PDF’s that were typeset differently into
>> one document without modifying the individual files themselves.
>> [...]
>> The problem is the original page numbers show and I’d prefer that it
>> did not. So I thought maybe I could clip all the page numbers from
>> every page (since they are all in the same position across all the
>> pages) but I don’t know how to do this with the \clip command. Any
>> ideas? I already tried using \input but it gives some weird output in
>> some places. It doesn’t have to use this method as long as it does
>> what I need it to do.
> 
> Hi Jethro,
> 
> it works using \clip with \externalfigure inside a loop (\dorecurse).
> 
> With \getfiguredimensions you get the number of pages of each PDF
> document (\noffigurepages).
> 
> The following source both generates the source PDF document and the
> imposed result with clipped pages (just to see a sample of the commands
> mentioned above):
> 
>  \startbuffer[newbuff]
>  \setuppapersize[A3]
>  \setupbodyfont[sans, 1200pt]
>  \starttext
>  \dorecurse{8}
>  {\startmakeup[page][pagestate=start, align=center, style=\bf]
>    \recurselevel
>   \stopmakeup}
>  \stoptext
>  \stopbuffer
>  \startmode[*first]
>  \savebuffer[newbuff][source_page.tex, prefix=no]
>  \executesystemcommand{context --purgeall source_page.tex}
>  \stopmode
>  \setuplayout[page]
>  \setuppapersize[A6][A4]
>  \setuppaper[nx=2, ny=2]
>  \setuparranging [XY]
>  \starttext
>  \startnotmode[*first]
>  \def\Doc{source_page.pdf}
>  \getfiguredimensions[\Doc]
>  \dorecurse{\noffigurepages}
>    {\clip[hoffset=96mm, voffset=136mm, width=105mm, height=148mm]
>        {\externalfigure[\Doc][page=\recurselevel]}}
>  \stopnotmode
>  \stoptext
> 
> Just in case it might help,
> 
> Pablo
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
> 
> maillist : ntg-context at ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : https://www.pragma-ade.nl / http://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : https://contextgarden.net
> ___________________________________________________________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/ntg-context/attachments/20220822/19052307/attachment-0001.htm>


More information about the ntg-context mailing list