0
我有一個腳本,在加載pdf文件並在pdf中填充某些表單域後運行。我認爲它是在幕後運行的某種JavaScript。在JavaScript代碼中存儲了一些我需要檢索的值。我使用iTextSharp來處理pdf文件。是否有可能讀取javascript代碼或值,以便我可以以某種方式在我的C#代碼中使用它們?使用iTextSharp從pdf中閱讀javascript
我有一個腳本,在加載pdf文件並在pdf中填充某些表單域後運行。我認爲它是在幕後運行的某種JavaScript。在JavaScript代碼中存儲了一些我需要檢索的值。我使用iTextSharp來處理pdf文件。是否有可能讀取javascript代碼或值,以便我可以以某種方式在我的C#代碼中使用它們?使用iTextSharp從pdf中閱讀javascript
從這個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參考頁。
謝謝!雖然我沒有發現任何價值我認爲它可能在一個fdf文件中。但我不知道pdf文件中fdf文件的路徑在哪裏存儲以及如何訪問它?答案是正確的,所以我會將它標記爲答案,但它似乎不是我需要的答案:) – Janspeed
@Janspeed你可以發佈pdf進行檢查嗎? – mkl