2013-11-27 96 views
0

我有一个脚本,在加载pdf文件并在pdf中填充某些表单域后运行。我认为它是在幕后运行的某种JavaScript。在JavaScript代码中存储了一些我需要检索的值。我使用iTextSharp来处理pdf文件。是否有可能读取javascript代码或值,以便我可以以某种方式在我的C#代码中使用它们?使用iTextSharp从pdf中阅读javascript

回答

0

从这个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()); 
} 

下面是该PdfObject class参考页。

+0

谢谢!虽然我没有发现任何价值我认为它可能在一个fdf文件中。但我不知道pdf文件中fdf文件的路径在哪里存储以及如何访问它?答案是正确的,所以我会将它标记为答案,但它似乎不是我需要的答案:) – Janspeed

+0

@Janspeed你可以发布pdf进行检查吗? – mkl