Как я могу преобразовать файл 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';
}
}
Но это не работает!
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';
}
}