* 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).