* setting date in \setupinteraction @ 2021-10-19 15:47 Pablo Rodriguez via ntg-context 2021-10-19 16:23 ` Michal Vlasák via ntg-context 0 siblings, 1 reply; 6+ messages in thread From: Pablo Rodriguez via ntg-context @ 2021-10-19 15:47 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Pablo Rodriguez Dear list, I have the following sample: \setupinteraction[state=start, date={02.02.2022}] \starttext This document is from 02.02.2020 at 12:00:21. \stoptext Which is the right way to get PDF dates working with \setupinteraction? Many thanks for your help, Pablo -- http://www.ousia.tk ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: setting date in \setupinteraction 2021-10-19 15:47 setting date in \setupinteraction Pablo Rodriguez via ntg-context @ 2021-10-19 16:23 ` Michal Vlasák via ntg-context 2021-10-19 18:51 ` Pablo Rodriguez via ntg-context 0 siblings, 1 reply; 6+ messages in thread From: Michal Vlasák via ntg-context @ 2021-10-19 16:23 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Michal Vlasák, Pablo Rodriguez On Tue Oct 19, 2021 at 5:47 PM CEST, Pablo Rodriguez via ntg-context wrote: > Dear list, > > I have the following sample: > > \setupinteraction[state=start, > date={02.02.2022}] > \starttext > This document is from 02.02.2020 at 12:00:21. > \stoptext > > Which is the right way to get PDF dates working with \setupinteraction? According to lpdf-mis.lmt about the "date" parameter: -- users should enter the date in 2010-01-19T23:27:50+01:00 format -- and if not provided that way we use the creation time instead I can get this format also with `date --iso-8601=seconds` or the shorter `date -Iseconds`. So this works: \setupinteraction[state=start, date={2022-02-02T12:00:21+02:00}] \starttext This document is from 02.02.2020 at 12:00:21. \stoptext This parameter sets the "ModDate" is that what you are after? Seems that "CreationDate" could be set by the SOURCE_DATE_EPOCH environment variable, but I am not succesfull with it right now. Michal ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: setting date in \setupinteraction 2021-10-19 16:23 ` Michal Vlasák via ntg-context @ 2021-10-19 18:51 ` Pablo Rodriguez via ntg-context 2021-10-19 20:38 ` Michal Vlasák via ntg-context 0 siblings, 1 reply; 6+ messages in thread From: Pablo Rodriguez via ntg-context @ 2021-10-19 18:51 UTC (permalink / raw) To: Michal Vlasák via ntg-context; +Cc: Pablo Rodriguez On 10/19/21 6:23 PM, Michal Vlasák via ntg-context wrote: > On Tue Oct 19, 2021 at 5:47 PM CEST, Pablo Rodriguez via ntg-context wrote: > [...] > So this works: > > > \setupinteraction[state=start, > date={2022-02-02T12:00:21+02:00}] > \starttext > This document is from 02.02.2020 at 12:00:21. > \stoptext > > This parameter sets the "ModDate" is that what you are after? Hi Michal, many thanks for your fast reply. I would like to import both metadata values (CreationDate and ModDate) from another file (such as https://pdf.ousia.tk/metadata.pdf). Besides from the fact that LMTX doesn’t work with this (only MkIV does [already reported]), isn’t no simpler way to get ISO 8601 formatting from doc.Info.ModDate than the following one? \starttext \startluacode function document.transfer_metadata(name) local main_doc = lpdf.epdf.load(name) context.setupinteraction{ title = main_doc.Info.Title } context.setupinteraction{ date = main_doc.Info.ModDate:sub(3,6) .. "-" .. main_doc.Info.ModDate:sub(7,8) .. "-" .. main_doc.Info.ModDate:sub(9,10) .. "T" .. main_doc.Info.ModDate:sub(11,12) .. ":" .. main_doc.Info.ModDate:sub(13,14) .. ":" .. main_doc.Info.ModDate:sub(15,22):gsub("'", ":") } context(main_doc.Info.Title .. "\\par") lpdf.epdf.unload(name) end \stopluacode \unexpanded\def\TransferMetadata#1% {\ctxlua{document.transfer_metadata("#1")}} \startTEXpage[offset=1em, align=center] \TransferMetadata{metadata.pdf} \stopTEXpage \stoptext > Seems that "CreationDate" could be set by the SOURCE_DATE_EPOCH > environment variable, but I am not succesfull with it right now. It would be fine to ble able to set CreationDate. Otherwise, having a ModDate prior to CreationDate gives a weird impression. Many thanks for your help, Pablo -- http://www.ousia.tk ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: setting date in \setupinteraction 2021-10-19 18:51 ` Pablo Rodriguez via ntg-context @ 2021-10-19 20:38 ` Michal Vlasák via ntg-context 2021-10-20 14:02 ` Hans Hagen via ntg-context 0 siblings, 1 reply; 6+ messages in thread From: Michal Vlasák via ntg-context @ 2021-10-19 20:38 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Michal Vlasák, Pablo Rodriguez On Tue Oct 19, 2021 at 8:51 PM CEST, Pablo Rodriguez via ntg-context wrote: > On 10/19/21 6:23 PM, Michal Vlasák via ntg-context wrote: > > On Tue Oct 19, 2021 at 5:47 PM CEST, Pablo Rodriguez via ntg-context wrote: > > [...] > > So this works: > > > > > > \setupinteraction[state=start, > > date={2022-02-02T12:00:21+02:00}] > > \starttext > > This document is from 02.02.2020 at 12:00:21. > > \stoptext > > > > This parameter sets the "ModDate" is that what you are after? > > Hi Michal, > > many thanks for your fast reply. > > I would like to import both metadata values (CreationDate and ModDate) > from another file (such as https://pdf.ousia.tk/metadata.pdf). > > Besides from the fact that LMTX doesn’t work with this (only MkIV does > [already reported]), isn’t no simpler way to get ISO 8601 formatting > from doc.Info.ModDate than the following one? > > \starttext > \startluacode > function document.transfer_metadata(name) > local main_doc = lpdf.epdf.load(name) > context.setupinteraction{ title = main_doc.Info.Title } > context.setupinteraction{ date = main_doc.Info.ModDate:sub(3,6) .. > "-" .. main_doc.Info.ModDate:sub(7,8) .. "-" .. > main_doc.Info.ModDate:sub(9,10) .. "T" .. > main_doc.Info.ModDate:sub(11,12) .. ":" .. > main_doc.Info.ModDate:sub(13,14) .. ":" .. > main_doc.Info.ModDate:sub(15,22):gsub("'", ":") } > context(main_doc.Info.Title .. "\\par") > lpdf.epdf.unload(name) > end > \stopluacode > \unexpanded\def\TransferMetadata#1% > {\ctxlua{document.transfer_metadata("#1")}} > \startTEXpage[offset=1em, align=center] > \TransferMetadata{metadata.pdf} > \stopTEXpage > \stoptext > > > Seems that "CreationDate" could be set by the SOURCE_DATE_EPOCH > > environment variable, but I am not succesfull with it right now. > > It would be fine to ble able to set CreationDate. Otherwise, having a > ModDate prior to CreationDate gives a weird impression. I don't know how official these interfaces are. But you can try adapting the following to your use case. \setupinteraction[state=start] %\luacode{lpdf.settime("2020-02-02 12:00")} %\luacode{lpdf.settime(1580641221)} \startluacode local Y, M, D, h, m, s, Zs, Zh, Zm = string.match("D:20200202120021+02'00'", "^D:(%d%d%d%d)(%d%d)(%d%d)(%d%d)(%d%d)(%d%d)([%+%-])(%d%d)%'(%d%d)%'$") local time = os.time{year=Y,month=M,day=D,hour=h,min=m,sec=s} lpdf.settime(time) \stopluacode \starttext This document is from 02.02.2020 at 12:00:21. \stoptext The pattern doesn't catch all the PDF spec cases, but should match what ConTeXt emits. The timezone info gets overwritten by current timezone though. Requires the below patch. Michal --- a/tex/context/base/mkiv/core-con.lua +++ b/tex/context/base/mkiv/core-con.lua @@ -1991,7 +1991,7 @@ function converters.totime(s) end local n = tonumber(s) if n and n >= 0 then - return date("*t",n) + return osdate("*t",n) end end diff --git a/tex/context/base/mkxl/lpdf-ini.lmt b/tex/context/base/mkxl/lpdf-ini.lmt index 7979b80..9703ac0 100644 --- a/tex/context/base/mkxl/lpdf-ini.lmt +++ b/tex/context/base/mkxl/lpdf-ini.lmt @@ -1123,7 +1123,7 @@ do n = converters.totime(n) if n then converters.settime(n) - timestamp = osdate("%Y-%m-%dT%X") .. ostimezone(true) -- probably not ok + timestamp = osdate("%Y-%m-%dT%X", ostime(n)) .. ostimezone(true) -- probably not ok end end if metadata then ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: setting date in \setupinteraction 2021-10-19 20:38 ` Michal Vlasák via ntg-context @ 2021-10-20 14:02 ` Hans Hagen via ntg-context 2021-10-21 16:38 ` Pablo Rodriguez via ntg-context 0 siblings, 1 reply; 6+ messages in thread From: Hans Hagen via ntg-context @ 2021-10-20 14:02 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Hans Hagen, Pablo Rodriguez On 10/19/2021 10:38 PM, Michal Vlasák via ntg-context wrote: > I don't know how official these interfaces are. But you can try adapting > the following to your use case. > > \setupinteraction[state=start] > > %\luacode{lpdf.settime("2020-02-02 12:00")} > %\luacode{lpdf.settime(1580641221)} > > \startluacode > > local Y, M, D, h, m, s, Zs, Zh, Zm = string.match("D:20200202120021+02'00'", "^D:(%d%d%d%d)(%d%d)(%d%d)(%d%d)(%d%d)(%d%d)([%+%-])(%d%d)%'(%d%d)%'$") > > local time = os.time{year=Y,month=M,day=D,hour=h,min=m,sec=s} > lpdf.settime(time) > \stopluacode > > \starttext > This document is from 02.02.2020 at 12:00:21. > \stoptext > > The pattern doesn't catch all the PDF spec cases, but should match what > ConTeXt emits. The timezone info gets overwritten by current timezone > though. > > Requires the below patch. > > Michal > > --- a/tex/context/base/mkiv/core-con.lua > +++ b/tex/context/base/mkiv/core-con.lua > @@ -1991,7 +1991,7 @@ function converters.totime(s) > end > local n = tonumber(s) > if n and n >= 0 then > - return date("*t",n) > + return osdate("*t",n) > end > end > > diff --git a/tex/context/base/mkxl/lpdf-ini.lmt b/tex/context/base/mkxl/lpdf-ini.lmt > index 7979b80..9703ac0 100644 > --- a/tex/context/base/mkxl/lpdf-ini.lmt > +++ b/tex/context/base/mkxl/lpdf-ini.lmt > @@ -1123,7 +1123,7 @@ do > n = converters.totime(n) > if n then > converters.settime(n) > - timestamp = osdate("%Y-%m-%dT%X") .. ostimezone(true) -- probably not ok > + timestamp = osdate("%Y-%m-%dT%X", ostime(n)) .. ostimezone(true) -- probably not ok > end > end > if metadata then i'll fix it but also clean up the existing code a bit (much has to do with omitting date and is for comparison reasons) 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 ----------------------------------------------------------------- ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: setting date in \setupinteraction 2021-10-20 14:02 ` Hans Hagen via ntg-context @ 2021-10-21 16:38 ` Pablo Rodriguez via ntg-context 0 siblings, 0 replies; 6+ messages in thread From: Pablo Rodriguez via ntg-context @ 2021-10-21 16:38 UTC (permalink / raw) To: ntg-context; +Cc: Pablo Rodriguez On 10/20/21 4:02 PM, Hans Hagen via ntg-context wrote: > On 10/19/2021 10:38 PM, Michal Vlasák via ntg-context wrote: >> [...] >> The pattern doesn't catch all the PDF spec cases, but should match what >> ConTeXt emits. The timezone info gets overwritten by current timezone >> though. >> >> Requires the below patch. >[...] > i'll fix it but also clean up the existing code a bit > > (much has to do with omitting date and is for comparison reasons) Many thanks for the fix. It would be great that current timezone doesn’t overwrite the specified one. Pablo -- http://www.ousia.tk ___________________________________________________________________________________ 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 ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-10-21 16:38 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-10-19 15:47 setting date in \setupinteraction Pablo Rodriguez via ntg-context 2021-10-19 16:23 ` Michal Vlasák via ntg-context 2021-10-19 18:51 ` Pablo Rodriguez via ntg-context 2021-10-19 20:38 ` Michal Vlasák via ntg-context 2021-10-20 14:02 ` Hans Hagen via ntg-context 2021-10-21 16:38 ` Pablo Rodriguez via ntg-context
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).