* Pdf info with Lua/Ctx API @ 2017-08-14 11:08 Procházka Lukáš Ing. 2017-08-14 14:55 ` Hans Hagen 0 siblings, 1 reply; 5+ messages in thread From: Procházka Lukáš Ing. @ 2017-08-14 11:08 UTC (permalink / raw) To: ConTeXt Hello, is there a way how to get the following info from a PDF file via Lua/Ctx API?: - first: number of pages of the PDF, - next: for each page: get width, height and orientation (portrait/landscape) or rotation (+90,+ 180, +270 or so) of i-th page. Best regards, Lukas -- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn Bezová 1658 147 14 Praha 4 Mob.: +420 702 033 396 ___________________________________________________________________________________ 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] 5+ messages in thread
* Re: Pdf info with Lua/Ctx API 2017-08-14 11:08 Pdf info with Lua/Ctx API Procházka Lukáš Ing. @ 2017-08-14 14:55 ` Hans Hagen 2017-08-15 12:08 ` Procházka Lukáš Ing. 2017-08-16 10:11 ` Procházka Lukáš Ing. 0 siblings, 2 replies; 5+ messages in thread From: Hans Hagen @ 2017-08-14 14:55 UTC (permalink / raw) To: ntg-context On 8/14/2017 1:08 PM, Procházka Lukáš Ing. wrote: > Hello, > > is there a way how to get the following info from a PDF file via Lua/Ctx > API?: > > - first: number of pages of the PDF, > > - next: for each page: get width, height and orientation > (portrait/landscape) or rotation (+90,+ 180, +270 or so) of i-th page. this probably has come up several times now, anyway \getfiguredimensions[test.pdf] \dorecurse {\noffigurepages} { \getfiguredimensions[test.pdf][page=#1] \figurenaturalwidth ,\figurenaturalheight,\figureorientation,\figurerotation\par } in lua you can either use the img library (see luatex manual) or context helpers local data = figures.push("foo.pdf") figures.identify() figures.check() figures.pop() inspect(data) i'll add: function figures.getinfo(name,page) if type(name) == "string" then name = { name = name, page = page } end if name.name then local data = figures.push(name) figures.identify() figures.check() figures.pop() return data end end so that one can do local n = "ms.pdf" local d = figures.getinfo(n) if d then for i=1,d.used.pages do local p = figures.getinfo(n,i) if p then local u = p.used print(u.width,u.height,u.orientation) end end end etc etc -- ----------------------------------------------------------------- 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] 5+ messages in thread
* Re: Pdf info with Lua/Ctx API 2017-08-14 14:55 ` Hans Hagen @ 2017-08-15 12:08 ` Procházka Lukáš Ing. 2017-08-16 10:11 ` Procházka Lukáš Ing. 1 sibling, 0 replies; 5+ messages in thread From: Procházka Lukáš Ing. @ 2017-08-15 12:08 UTC (permalink / raw) To: mailing list for ConTeXt users Hello Hans, that's exactly what I've been looking for! (And yes, I've asked one or more times, with a solution that seemed to me a bit "forced" or "non-clear", so the latest solution looks perfectly!) Best regards, Lukas On Mon, 14 Aug 2017 16:55:09 +0200, Hans Hagen <pragma@wxs.nl> wrote: > On 8/14/2017 1:08 PM, Procházka Lukáš Ing. wrote: >> Hello, >> >> is there a way how to get the following info from a PDF file via Lua/Ctx >> API?: >> >> - first: number of pages of the PDF, >> >> - next: for each page: get width, height and orientation >> (portrait/landscape) or rotation (+90,+ 180, +270 or so) of i-th page. > > this probably has come up several times now, anyway > > > \getfiguredimensions[test.pdf] > \dorecurse {\noffigurepages} { > \getfiguredimensions[test.pdf][page=#1] > \figurenaturalwidth > ,\figurenaturalheight,\figureorientation,\figurerotation\par > } > > in lua you can either use the img library (see luatex manual) or context > helpers > > local data = figures.push("foo.pdf") > figures.identify() > figures.check() > figures.pop() > inspect(data) > > i'll add: > > function figures.getinfo(name,page) > if type(name) == "string" then > name = { name = name, page = page } > end > if name.name then > local data = figures.push(name) > figures.identify() > figures.check() > figures.pop() > return data > end > end > > so that one can do > > local n = "ms.pdf" > local d = figures.getinfo(n) > > if d then > for i=1,d.used.pages do > local p = figures.getinfo(n,i) > if p then > local u = p.used > print(u.width,u.height,u.orientation) > end > end > end > > etc etc > > -- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn Bezová 1658 147 14 Praha 4 Mob.: +420 702 033 396 ___________________________________________________________________________________ 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] 5+ messages in thread
* Re: Pdf info with Lua/Ctx API 2017-08-14 14:55 ` Hans Hagen 2017-08-15 12:08 ` Procházka Lukáš Ing. @ 2017-08-16 10:11 ` Procházka Lukáš Ing. 2017-08-16 11:57 ` Wolfgang Schuster 1 sibling, 1 reply; 5+ messages in thread From: Procházka Lukáš Ing. @ 2017-08-16 10:11 UTC (permalink / raw) To: mailing list for ConTeXt users Hello Hans, thank you for implementation 'figures.getinfo()'; two points: 1. Code: ---- \startluacode local n = "x:/Users/MMi/Akce/I-6_Krusovice.DSP-ZDS/Admin/Jednani/2017-07-07-SU-Rakovnik/ZJ.pdf" local d = figures.getinfo(n) ... ---- prints (probably to-string converted) resulting table: " close source > level 3, order 8, name 'd://Lukas/ConTeXt/Styles/PxLetter.sty' table={ ["request"]={ ["arguments"]=false, ["cache"]=false, ["color"]=false, ["controls"]=false, ["conversion"]=false, ["display"]=false, ["format"]=false, ["height"]=false, ["label"]=false, ["mask"]=false, ["name"]="x:/Users/MMi/Akce/I-6_Krusovice.DSP-ZDS/Admin/Jednani/2017-07-07-SU-Rakovnik/ZJ.pdf", ... }, ["status"]={ ... }, ["used"]={ ["colordepth"]=0, ["depth"]=0, ["format"]="pdf", ["fullname"]="x:/Users/MMi/Akce/I-6_Krusovice.DSP-ZDS/Admin/Jednani/2017-07-07-SU-Rakovnik/ZJ.pdf", ["height"]=55380991, ... }, } " - Is it intend? Or residual debugging status? 2. Is there a Ctx built-in converter which would convert width and height (e.g. here: ["height"]=55380991) from "height units" to milimeters? Best regards, Lukas On Mon, 14 Aug 2017 16:55:09 +0200, Hans Hagen <pragma@wxs.nl> wrote: > On 8/14/2017 1:08 PM, Procházka Lukáš Ing. wrote: >> Hello, >> >> is there a way how to get the following info from a PDF file via Lua/Ctx >> API?: >> >> - first: number of pages of the PDF, >> >> - next: for each page: get width, height and orientation >> (portrait/landscape) or rotation (+90,+ 180, +270 or so) of i-th page. > > this probably has come up several times now, anyway > > > \getfiguredimensions[test.pdf] > \dorecurse {\noffigurepages} { > \getfiguredimensions[test.pdf][page=#1] > \figurenaturalwidth > ,\figurenaturalheight,\figureorientation,\figurerotation\par > } > > in lua you can either use the img library (see luatex manual) or context > helpers > > local data = figures.push("foo.pdf") > figures.identify() > figures.check() > figures.pop() > inspect(data) > > i'll add: > > function figures.getinfo(name,page) > if type(name) == "string" then > name = { name = name, page = page } > end > if name.name then > local data = figures.push(name) > figures.identify() > figures.check() > figures.pop() > return data > end > end > > so that one can do > > local n = "ms.pdf" > local d = figures.getinfo(n) > > if d then > for i=1,d.used.pages do > local p = figures.getinfo(n,i) > if p then > local u = p.used > print(u.width,u.height,u.orientation) > end > end > end > > etc etc > > -- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS:nrpt3sn Bezová 1658 147 14 Praha 4 Mob.: +420 702 033 396 ___________________________________________________________________________________ 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] 5+ messages in thread
* Re: Pdf info with Lua/Ctx API 2017-08-16 10:11 ` Procházka Lukáš Ing. @ 2017-08-16 11:57 ` Wolfgang Schuster 0 siblings, 0 replies; 5+ messages in thread From: Wolfgang Schuster @ 2017-08-16 11:57 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 1500 bytes --] > Procházka Lukáš Ing. <mailto:LPr@pontex.cz> > 16. August 2017 um 12:11 > Hello Hans, > > thank you for implementation 'figures.getinfo()'; two points: > > 1. Code: > > ---- > \startluacode > > local n = > "x:/Users/MMi/Akce/I-6_Krusovice.DSP-ZDS/Admin/Jednani/2017-07-07-SU-Rakovnik/ZJ.pdf" > > local d = figures.getinfo(n) > ... > ---- > > prints (probably to-string converted) resulting table: > > " > close source > level 3, order 8, name > 'd://Lukas/ConTeXt/Styles/PxLetter.sty' > table={ > ["request"]={ > ["arguments"]=false, > ["cache"]=false, > ["color"]=false, > ["controls"]=false, > ["conversion"]=false, > ["display"]=false, > ["format"]=false, > ["height"]=false, > ["label"]=false, > ["mask"]=false, > > ["name"]="x:/Users/MMi/Akce/I-6_Krusovice.DSP-ZDS/Admin/Jednani/2017-07-07-SU-Rakovnik/ZJ.pdf", > > ... > }, > ["status"]={ > ... > }, > ["used"]={ > ["colordepth"]=0, > ["depth"]=0, > ["format"]="pdf", > > ["fullname"]="x:/Users/MMi/Akce/I-6_Krusovice.DSP-ZDS/Admin/Jednani/2017-07-07-SU-Rakovnik/ZJ.pdf", > > ["height"]=55380991, > ... > }, > } > " > > - Is it intend? Or residual debugging status? > > > 2. Is there a Ctx built-in converter which would convert width and > height (e.g. here: ["height"]=55380991) from "height units" to > milimeters? \starttext \startluacode local length = "55380991" context(number.topoints(length)) context.par() context(number.todimen(length,"pt")) \stopluacode \stoptext Wolfgang [-- Attachment #1.2: Type: text/html, Size: 2629 bytes --] [-- Attachment #2: Type: text/plain, Size: 492 bytes --] ___________________________________________________________________________________ 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] 5+ messages in thread
end of thread, other threads:[~2017-08-16 11:57 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-08-14 11:08 Pdf info with Lua/Ctx API Procházka Lukáš Ing. 2017-08-14 14:55 ` Hans Hagen 2017-08-15 12:08 ` Procházka Lukáš Ing. 2017-08-16 10:11 ` Procházka Lukáš Ing. 2017-08-16 11:57 ` Wolfgang Schuster
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).