2011-07-15 204 views
0

我正在尋找使用SAS讀取PDF文件的方法。顯然這不是基本的功能,並且在互聯網上很少有被發現。 (更不用說谷歌在PDF搜索中不容易使用PDF搜索,也可以鏈接到其他文檔的PDF文檔鏈接。)SAS:在PDF文件中閱讀

唯一可以找到的東西是人們在尋找將數據導入數據集的方法PDF。對我而言,這甚至不是必需的。我希望能夠在一個大字符變量中讀取PDF文件的內容。如果可能的話,甚至可以讀取文件的二進制數據。

這是可能的SAS和如何? (我得到它在Access VBA中工作,但在SAS中找不到任何類似的方法。)

(最後,目的是將其轉換爲base64並將該base64字符串放入XML文檔中。 )

回答

5

您可能無法將整個文件讀入一個字符變量,因爲字符變量的最大大小約爲33 KB。一個簡單的方法在一行一次讀,雖然是類似如下:

%let pdfFileName = Test.pdf; 
%let lineSize = 2000; 

data base; 
    format text_line $&lineSize..; 
    infile "&pdfFileName" lrecl=&lineSize; 
    input text_line $; 
run; 

這需要你有最大記錄長度的時間提前的總體思路,但你可以編寫額外的代碼確定在讀入文件之前的最大記錄大小。在這個例子中,每行文本被讀入一個名爲「text_line」的字符變量。從那裏,您可以在INPUT行中使用RETAIN語句或雙預告片(@@)來一次處理多行。 SAS網站有大量關於如何從各種類型的輸入文件中讀取和處理文本的文檔。

+0

你也可以使用不同的格式。 –