2014-02-09 79 views
0

我有一個使用Selenium WebDriver Java自動化的場景:
一個網頁包含一些客戶數據。它有一個鏈接轉換爲PDF轉換爲安全的PDF格式的客戶名單。我必須確認PDF文檔中列出的客戶列表是根據網頁中顯示的列表。Java - 讀寫Pdf,在瀏覽器窗口內呈現

Selenium WebDriver具有與瀏覽器DOM中存在的元素進行交互的功能。因此,爲了與瀏覽器窗口內部呈現的PDF文檔進行交互,我需要一些其他Java實用程序來檢索該PDF文檔中存在的數據。如果有人遇到類似的事情,請幫助。先謝謝了。

感謝,
Sitam

+1

你的意思是你在服務器驗證它所服務的PDF到客戶端瀏覽器之前?或者在客戶端被渲染的時候?或者,pdf是否包含客戶端瀏覽器發佈到服務器的表單,並且您必須驗證發佈的數據? – mkl

+0

我必須在客戶端瀏覽器上驗證pdf。基本上情況是:瀏覽器頁面上有打印鏈接。點擊後,它會在瀏覽器窗口中呈現pdf文檔。我必須驗證該PDF文檔中的內容。 –

+0

如何在客戶端瀏覽器中執行Java程序?在不同的標籤或窗口中的servlet?一個單獨的Java程序? (或者,您是否真的指瀏覽器中的Java Script或PDF中的文件?) – mkl

回答

1

從PDF文件閱讀,你可以使用傳統的FileReader API。

import java.io.*;  

public class FileRead { 


    public static void main(String[] args) throws IOException { 


     File f=new File("C:\\Documents and Settings\\abc\\Desktop\\abc.pdf"); 

     OutputStream oos = new FileOutputStream("test.pdf"); 

     byte[] buf = new byte[8192]; 

     InputStream is = new FileInputStream(f); 

     int c = 0; 

     while ((c = is.read(buf, 0, buf.length)) > 0) { 
      oos.write(buf, 0, c); 
      oos.flush(); 
     } 

     oos.close(); 
     System.out.println("stop"); 
     is.close(); 

    } 
} 

您可以將此流傳遞給用戶界面,或者您可以直接將文件路徑傳遞到用戶界面,通過它可以訪問該文件。 要編寫或更新PDF文件,您可以使用itext/pd4ml libraries.Both工作很好。

鏈接:

Itext

PD4ML