SAS: читать в файле PDF - PullRequest
       26

SAS: читать в файле PDF

0 голосов
/ 15 июля 2011

Я ищу способы чтения в PDF-файл с помощью SAS. По-видимому, это не базовая функциональность, и в Интернете ее очень мало. (Не говоря уже о том, что Google не так просто с PDF в поиске, давая вам также ссылки на документы PDF, которые касаются других вещей.)

Единственное, что можно найти, - это люди, которые ищут способы импортировать данные в наборы данных из PDF. Для меня это даже не необходимость. Я хотел бы иметь возможность читать содержимое файла PDF в одной большой символьной переменной. Если возможно, было бы лучше иметь возможность читать двоичные данные файла.

Возможно ли это с SAS и как? (Я получил его для работы в Access VBA, но не могу найти аналогичные способы в SAS.)

(В конце концов, цель состоит в том, чтобы преобразовать это в base64 и поместить эту строку base64 в документ XML.)

1 Ответ

5 голосов
/ 20 июля 2011

Вы, вероятно, не сможете прочитать весь файл в одну символьную переменную, поскольку максимальный размер символьной переменной составляет около 33 КБ.Простой способ читать по одной строке за раз, это что-то вроде следующего:

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

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

Это требует, чтобы у вас было общее представление о максимальной длине записи заранее, но вы могли бы написатьдополнительный код для определения максимального размера записи перед чтением в файл.В этом примере каждая строка текста читается в одну символьную переменную с именем «text_line».Оттуда вы можете использовать оператор RETAIN или двойные трейлеры (@@) в строке INPUT для обработки нескольких строк одновременно.На веб-сайте SAS есть много документации о том, как читать и обрабатывать текст из различных типов входных файлов.

...