Можно ли прочитать PDF-файл как TXT? - PullRequest
0 голосов
/ 06 мая 2010

Мне нужно найти определенный ключ в файле PDF. Насколько я знаю, единственный способ сделать это - интерпретировать PDF как текстовый файл. Я хочу сделать это в PHP без установки аддона / framework / и т. Д.

Спасибо

Ответы [ 4 ]

4 голосов
/ 06 мая 2010

Вы можете открыть PDF-файл в виде текста. Формат файла PDF на самом деле представляет собой набор объектов. В первой строке есть заголовок, который сообщает вам версию. Затем вы должны перейти к нижней части, чтобы найти смещение к началу таблицы внешних ссылок, которая сообщает, где расположены все объекты. Содержимое отдельных объектов в файле, например графика, часто является двоичным и сжатым. Спецификацию 1.7 можно найти здесь .

1 голос
/ 06 мая 2010

Я нашел эту функцию, надеюсь, она поможет.

http://community.livejournal.com/php/295413.html

0 голосов
/ 06 мая 2010

Спасибо всем за помощь. Я должен вам этот код:

// Proceed if file exists
if(file_exists($sourcePath)){
    $pdfFile = fopen($sourcePath,"rb");
    $data = fread($pdfFile, filesize($sourcePath));
    fclose($pdfFile);

    // Check if file is encrypted or not
    if(stripos($data,$searchFor)){ // $searchFor = "/Encrypt"
        $counterEncrypted++;    
    }else{
        $counterNotEncrpyted++;
    }
}else{
    $counterNotExisting++;
}
0 голосов
/ 06 мая 2010

Вы не можете просто открыть файл, поскольку это двоичный дамп объектов, используемых для создания отображения PDF, включая кодирование, шрифты, текст, изображения. Я написал сообщение в блоге, объясняющее, как текст хранится в http://pdf.jpedal.org/java-pdf-blog/bid/27187/Understanding-the-PDF-file-format-text-streams

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...