Re: [NTG-context] Trouble setting PDF boxes

2020-04-30 Thread Jack Steyn
Hi Hans, using that produces a pdf which fails compliance with PDF/X-1a as
the BleedBox is not set. But notice that if it did work, the sizes of
TrimBox and BleedBox would be based off printpaperwidth and
printpaperheight. I need them to be based off paperwidth and paperheight
(for my documents all have printpaperwidth – paperwidth ≠ printpaperheight
– paperheight).

(Apologies, I initially replied to just you and not the list as well.)

On Fri, 1 May 2020 at 05:44, Hans Hagen  wrote:

> On 4/30/2020 5:51 PM, Jack Steyn wrote:
> > Hello, I'm happy to report that I got this working after much trawling
> > through the source and documentation. The code below produces a pdf with
> > the MediaBox, CropBox, BleedBox and TrimBox all in the places I
> > specified in my original message. I hope it helps illustrate how to set
> > these PDF boxes using Lua. I would much appreciate any feedback on how
> > the Lua code can be cleaned up or made more flexible (the bleed is
> > hard-coded in because I didn't know how to obtain the user-specified
> > bleedoffset, for example), or made better in any other way.
> can you try this
>
> \setuplayout
>[cropoffset=30pt,
> bleedoffset=20pt,
> trimoffset=10pt]
>
> \setupinteractionscreen
>[width=max,height=max]
>
> -
>Hans Hagen | PRAGMA ADE
>Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
> tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
> -
>
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Trouble setting PDF boxes

2020-04-30 Thread Hans Hagen

On 4/30/2020 5:51 PM, Jack Steyn wrote:
Hello, I'm happy to report that I got this working after much trawling 
through the source and documentation. The code below produces a pdf with 
the MediaBox, CropBox, BleedBox and TrimBox all in the places I 
specified in my original message. I hope it helps illustrate how to set 
these PDF boxes using Lua. I would much appreciate any feedback on how 
the Lua code can be cleaned up or made more flexible (the bleed is 
hard-coded in because I didn't know how to obtain the user-specified 
bleedoffset, for example), or made better in any other way.

can you try this

\setuplayout
  [cropoffset=30pt,
   bleedoffset=20pt,
   trimoffset=10pt]

\setupinteractionscreen
  [width=max,height=max]

-
  Hans Hagen | PRAGMA ADE
  Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
   tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Trouble setting PDF boxes

2020-04-30 Thread Jack Steyn
Hello, I'm happy to report that I got this working after much trawling
through the source and documentation. The code below produces a pdf with
the MediaBox, CropBox, BleedBox and TrimBox all in the places I specified
in my original message. I hope it helps illustrate how to set these PDF
boxes using Lua. I would much appreciate any feedback on how the Lua code
can be cleaned up or made more flexible (the bleed is hard-coded in because
I didn't know how to obtain the user-specified bleedoffset, for example),
or made better in any other way.

Jack

\setuppapersize[A5][A4]

\setuplayout[location=middle, marking=on]

\setupinteraction
  [title={TestDoc},
   author={Anon}]

\setupbackend
  [format=PDF/X-1a:2003,
   intent={ISO Coated v2 300\letterpercent\space (ECI)}]

\setupinteractionscreen[width=max,height=max]

\startluacode
moduledata.mystuff={}
respecify_pdf_boxes = function()
local pdfverbose = lpdf.verbose
local factor = number.dimenfactors.bp
local f_value = string.formatters["\letterpercent.6N"]

local function boxvalue(n)
return pdfverbose(f_value(factor * n))
end

local paperwidth = tex.dimen.printpaperwidth
local paperheight = tex.dimen.printpaperheight
local pagewidth = tex.dimen.paperwidth
local pageheight = tex.dimen.paperheight
local bleedoffset = 3 / number.dimenfactors.mm
local pdfarray = lpdf.array

lpdf.addtopageattributes("MediaBox", pdfarray {
boxvalue(0),
boxvalue(0),
boxvalue(paperwidth),
boxvalue(paperheight),})

lpdf.addtopageattributes("CropBox", pdfarray {
boxvalue(0),
boxvalue(0),
boxvalue(paperwidth),
boxvalue(paperheight),})

lpdf.addtopageattributes("TrimBox", pdfarray {
boxvalue((paperwidth - pagewidth) / 2),
boxvalue((paperheight - pageheight) / 2),
boxvalue((paperwidth + pagewidth) / 2),
boxvalue((paperheight + pageheight) / 2),})

lpdf.addtopageattributes("BleedBox", pdfarray {
boxvalue((paperwidth - pagewidth) / 2 - bleedoffset),
boxvalue((paperheight - pageheight) / 2 - bleedoffset),
boxvalue((paperwidth + pagewidth) / 2 + bleedoffset),
boxvalue((paperheight + pageheight) / 2 + bleedoffset),})
end

moduledata.mystuff.respecify_pdf_boxes = respecify_pdf_boxes

lpdf.registerpagefinalizer(moduledata.mystuff.respecify_pdf_boxes,
"respecify pdf boxes")
\stopluacode

\starttext
test
\stoptext

On Sun, 26 Apr 2020 at 02:42, Jack Steyn  wrote:

> After much searching, my probably laughable attempt consists of combining
> the answer to the question at
> https://tex.stackexchange.com/questions/433110/setting-page-attributes-of-every-page-in-a-generated-context-file
>  with
> what I can see in the source at
> https://source.contextgarden.net/tex/context/base/mkiv/lpdf-mis.lua:
>
> \appendtoks
>   \startluacode
>   local formatters = string.formatters
>
>   local pdfverbose = lpdf.verbose
>   local pdfarray = lpdf.array
>
>   local factor  = number.dimenfactors.bp
>   local f_value = formatters["\letterpercent.6N"]
>
>   local function boxvalue(n)
>   return pdfverbose(f_value(factor * n))
>   end
>
>   lpdf.addtopageattributes("TrimBox", pdfarray {
>   boxvalue(30),
>   boxvalue(30),
>   boxvalue(180),
>   boxvalue(267),})
>   \stopluacode
> \to \aftereverypage
>
> This code throws no errors, but unfortunately it also has no effect. What
> am I doing wrong?
>
> Jack
>
> On Sat, 25 Apr 2020 at 22:37, Jack Steyn  wrote:
>
>> Hi,
>>
>> I am having trouble setting the PDF boxes to my desired dimensions.
>> Suppose I have \setuppapersize[*a*][*b*]. I want CropBox = MediaBox = *b*.
>> So far, so good: I can just use cropoffset=0mm in \setuplayout. But I want
>> TrimBox = *a*. However, as far as I can see, I can't achieve this using
>> trimoffset in \setuplayout unless (width of *b*) – (width of *a*) =
>> (height of *b*) – (height of *a*), which does not hold in my case. So it
>> looks like I need to find another way to set the TrimBox (and the BleedBox,
>> which I want to be 3mm wider and taller than the TrimBox). Does anyone know
>> how to do this?
>>
>> Best,
>>
>> Jack
>>
>
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


Re: [NTG-context] Trouble setting PDF boxes

2020-04-25 Thread Jack Steyn
After much searching, my probably laughable attempt consists of combining
the answer to the question at
https://tex.stackexchange.com/questions/433110/setting-page-attributes-of-every-page-in-a-generated-context-file
with
what I can see in the source at
https://source.contextgarden.net/tex/context/base/mkiv/lpdf-mis.lua:

\appendtoks
  \startluacode
  local formatters = string.formatters

  local pdfverbose = lpdf.verbose
  local pdfarray = lpdf.array

  local factor  = number.dimenfactors.bp
  local f_value = formatters["\letterpercent.6N"]

  local function boxvalue(n)
  return pdfverbose(f_value(factor * n))
  end

  lpdf.addtopageattributes("TrimBox", pdfarray {
  boxvalue(30),
  boxvalue(30),
  boxvalue(180),
  boxvalue(267),})
  \stopluacode
\to \aftereverypage

This code throws no errors, but unfortunately it also has no effect. What
am I doing wrong?

Jack

On Sat, 25 Apr 2020 at 22:37, Jack Steyn  wrote:

> Hi,
>
> I am having trouble setting the PDF boxes to my desired dimensions.
> Suppose I have \setuppapersize[*a*][*b*]. I want CropBox = MediaBox = *b*.
> So far, so good: I can just use cropoffset=0mm in \setuplayout. But I want
> TrimBox = *a*. However, as far as I can see, I can't achieve this using
> trimoffset in \setuplayout unless (width of *b*) – (width of *a*) =
> (height of *b*) – (height of *a*), which does not hold in my case. So it
> looks like I need to find another way to set the TrimBox (and the BleedBox,
> which I want to be 3mm wider and taller than the TrimBox). Does anyone know
> how to do this?
>
> Best,
>
> Jack
>
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


[NTG-context] Trouble setting PDF boxes

2020-04-25 Thread Jack Steyn
Hi,

I am having trouble setting the PDF boxes to my desired dimensions. Suppose
I have \setuppapersize[*a*][*b*]. I want CropBox = MediaBox = *b*. So far,
so good: I can just use cropoffset=0mm in \setuplayout. But I want TrimBox
= *a*. However, as far as I can see, I can't achieve this using trimoffset
in \setuplayout unless (width of *b*) – (width of *a*) = (height of *b*) –
(height of *a*), which does not hold in my case. So it looks like I need to
find another way to set the TrimBox (and the BleedBox, which I want to be
3mm wider and taller than the TrimBox). Does anyone know how to do this?

Best,

Jack
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___