简体   繁体   中英

Read javascript from pdf using iTextSharp

I have a script that runs after the pdf-file has been loaded and that populates some form fields in the pdf. I assume it is some kind of javascript running behind the scene. In the javascript code some values are stored that I need to retrieve. I use iTextSharp to work with the pdf-file. Is it possible to read the javascript code or the values so I can work with them in my c# code somehow?

Modified from this SO answer :

var pdfReader = new PdfReader(infilename);
using (MemoryStream memoryStream = new MemoryStream())
{
    PdfStamper stamper = new PdfStamper(pdfReader, memoryStream);
    for (int i = 0; i <= pdfReader.XrefSize; i++)
    {
        PdfDictionary pd = pdfReader.GetPdfObject(i) as PdfDictionary;
        if (pd != null)
        {
            PdfObject poAA = pd.Get(PdfName.AA); //Gets automatic execution objects
            PdfObject poJS = pd.Get(PdfName.JS); // Gets javascript objects
            PdfObject poJavaScript = pd.Get(PdfName.JAVASCRIPT); // Gets other javascript objects
            //use poJS.GetBytes(), poJS.ToString() etc to inspect details...
        }
    }
    stamper.Close();
    pdfReader.Close();
    File.WriteAllBytes(rawfile, memoryStream.ToArray());
}

Here's a reference page for the PdfObject class .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM