Java Script til en PDF fil
Jeg prøver krafter lidt med java scripter for pdf filer. Er nået så langt:Jeg har en xml fil jeg har placeret på adressen C:\Db\Kundedata.xml på min disk. Den indeholder følgende:
<?xml version="1.0" encoding="UTF-8"?>
<Kunder>
<Kunde>
<Navn>Lars Fischer</Navn>
<Firma>Hamilton</Firma>
</Kunde>
<Kunde>
<Navn>Lone Jensen</Navn>
<Firma>K. Møller</Firma>
</Kunde>
<Kunde>
<Navn>Annemette Voldsgaard</Navn>
<Firma>Veritas</Firma>
</Kunde>
<Kunde>
<Navn>Berit Nygaard</Navn>
<Firma>cowell</Firma>
</Kunde>
<Kunde>
<Navn>Anders Dalby</Navn>
<Firma>FremTech</Firma>
</Kunde>
</Kunder>
..og så en js fil (PopulateFieldsFromXML_Tool.js) ved adressen "C:\Users\[username]\AppData\Roaming\Adobe\Acrobat\10.0\JavaScripts". (Dette er en specielle folder for Acrobat hvis man har Acrobat eller Acrobat Reader installeret, hvor man kan placere scripter man vil have pdf dokumenter til at læse ved opstart). Indholdet af js filen er følgender:
var Personer = app.trustedFunction(function(oDoc)
{
app.beginPriv();
{ stmData = util.readFileIntoStream("C:/Db/Kundedata.xml");
var kData = util.stringFromStream(stmData);
var xmlData = eval(kData.replace(/^\<\?.*\?\>\s*/,""));
{
var oFld = oDoc.getField("Navn0");
oFld.value = xmlData.Kunde[0].Navn.text();
var oFld = oDoc.getField("Navn1");
oFld.value = xmlData.Kunde[1].Navn.text();
var oFld = oDoc.getField("Navn2");
oFld.value = xmlData.Kunde[2].Navn.text();
var oFld = oDoc.getField("Navn3");
oFld.value = xmlData.Kunde[3].Navn.text();
var oFld = oDoc.getField("Navn4");
oFld.value = xmlData.Kunde[4].Navn.text();
}
}
app.endPriv();
});
Så har jeg en pdf fil hvori jeg har (vha Adobe Acrobat) lagt en script på document level som ikke er andet end;
Personer(this);
Dette udfylder de fem tekst felter i min pdf fil (som har navnene "Navn0", "Navn1" osv) med kundenavnene fra XML filen når jeg åbner pdf filen. Hvad jeg gerne vil have i stedet for er at funktionen i min js fil sørger for at min pdf importerer navnene til listen af navne i en ´dropdown´ felt (rullened list). Er der nogen der kan koden til dette? Det er sikkert utrolig nemt men jeg er begynder og har søgt nettet tyndt uden at have forstået hvordan man gør.