diff options
author | Marius <mariausol@gmail.com> | 2012-01-24 16:20:15 +0200 |
---|---|---|
committer | Marius <mariausol@gmail.com> | 2012-01-24 16:20:15 +0200 |
commit | 730c0337f4323fe717a290181cf4ffcde52153b5 (patch) | |
tree | 977e8c43f5e50c50be12f71d78b0dfbb1cfa3d9c /tex/context/base/lpdf-fld.lua | |
parent | 61f9cff70fd57ae1be9208820b4d31bd7152c785 (diff) | |
download | context-730c0337f4323fe717a290181cf4ffcde52153b5.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 |