如何将 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';
}
}
但这不起作用!
答案1
该pdftotext
程序将在每个 PDF 页面后插入一个换页符 ( \f
)。您可以使用它将文本文件拆分为多个文件,每页一个。首先运行您通常运行的命令:
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
( )。因此,在包含转换后的 5 页 PDF 文件的print >> k".txt"
文本文件上运行上述脚本将导致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';
}
}