селектор номера страницы pdftotxt

Как я могу преобразовать файл PDF страницы в txt файл отдельно.

Мой пример кода;

pdftotext test.pdf x.txt

Мой php пример кода;

 for($i=1; $i<4; $i++){
    if(shell_exec("pdftotext -f $i test.pdf test/t$i.txt")){
        echo 'selam';
    }
 }

Но это не работает!

2
задан 22 August 2016 в 17:28

1 ответ

pdftotext программа вставит символ перевода страницы (\f) после каждой страницы PDF. Можно использовать это для разделения текстового файла на несколько файлов, один на страницу. Первый показ команда Вы обычно работаете:

pdftotext test.pdf x.txt

Затем разделение:

awk -vk=1 '/\f/{k++}{print >> k".txt"}' x.txt 

awk команда сначала установит переменную k кому: 1 (-vk=1) и затем увеличьте переменную к 1 каждому разу, когда символ перевода страницы найден на строке (/\f/{k++}). Затем это распечатает каждую строку в файл, имя которого является текущим значением k, плюс строка .txt (print >> k".txt"). Так, запущение скрипта выше на текстовом файле, содержащем преобразованный файл 5 страниц PDF, приведет к 1.txt, 2.txt, 3.txt, 4.txt и 5.txt.

Обратите внимание, что сценарий добавит к каждому текстовому файлу, таким образом выполнение его дважды просто добавит к существующим файлам (если таковые имеются). Чтобы избежать что, удалите файлы прежде, чем попытаться работать снова.

Для интеграции его в код php используйте:

for($i=1; $i<4; $i++){
    if(shell_exec("pdftotext -f $i test.pdf test/t$i.txt")){
        echo 'selam';
    }
    if(shell_exec("awk -vk=1 -vi="$i" '/\f/{k++}{print >> i"."k".txt"}' t$i.txt")){
        echo 'selam';
    }

}
2
ответ дан 2 December 2019 в 03:45

Другие вопросы по тегам:

Похожие вопросы: