diff options
author | Hans Hagen <pragma@wxs.nl> | 2012-01-24 14:55:00 +0100 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2012-01-24 14:55:00 +0100 |
commit | 97af40831e32337e13acae3b562782a8f6a8e79b (patch) | |
tree | 0122175ebcadaa63d33d998cb6addca99cc51216 /tex/context/base/lpdf-fld.lua | |
parent | a09a16817c8461b4f1c518f5dab0fa3f734b62d6 (diff) | |
download | context-97af40831e32337e13acae3b562782a8f6a8e79b.tar.gz |
beta 2012.01.24 14:55
Diffstat (limited to 'tex/context/base/lpdf-fld.lua')
-rw-r--r-- | tex/context/base/lpdf-fld.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tex/context/base/lpdf-fld.lua b/tex/context/base/lpdf-fld.lua index 5f59c951c..41d428004 100644 --- a/tex/context/base/lpdf-fld.lua +++ b/tex/context/base/lpdf-fld.lua @@ -457,6 +457,30 @@ end local fields, radios, clones, fieldsets, calculationset = { }, { }, { }, { }, nil +local xfdftemplate = [[ +<?xml version='1.0' encoding='UTF-8'?> + +<xfdf xmlns='http://ns.adobe.com/xfdf/'> + <f href='%s.pdf'/> + <fields> +%s + </fields> +</xfdf> +]] + +function codeinjections.exportformdata(name) + local result = { } + for k, v in table.sortedhash(fields) do + result[#result+1] = format(" <field name='%s'><value>%s</value></field>",v.name or k,v.default or "") + end + local base = file.basename(tex.jobname) + local xfdf = format(xfdftemplate,base,table.concat(result)) + if not name or name == "" then + name = base + end + io.savedata(file.addsuffix(name,"xfdf"),xfdf) +end + function codeinjections.definefieldset(tag,list) fieldsets[tag] = list end |