我刚刚删除了一个扫描的 pdf 文件。
我正在尝试用 恢复它scalpel
。
问题是手术刀将恢复许多已删除的文件并以数字命名它们(例如0001.pdf,0002.pdf,... 9999.pdf)。
根据本教程我可以使用grep
命令并在已删除的文件中搜索一些文本。
问题是,文件被扫描(我知道原始文件名),所以我不知道要搜索什么。
答案1
如果您可以再次扫描文档,您也许可以自动将其与恢复的文档进行比较。但如果是这种情况,您可能不需要恢复。
这就需要找到正确的 PDF,并且由于在类似的程序中逐一打开它们很麻烦,我建议您在恢复文件evince
的目录中运行以下命令:.pdf
for i in *.pdf ; do
pdfimages -j -l 1 "$i" "${i%}"
done
这将留下 JPEG 文件(-j
选项,除非扫描的文件不是 JPEG,这不太可能),其首页 ( -l 1
) 的基本名称与 PDF 相同。
现在,您可以eog
快速浏览提取的图像,直到您(视觉上)识别出您要查找的文档。找到后,图像文件将与您要查找的 PDF 文件具有相同的基本名称。
答案2
尝试pdfinfo
在您的文件上运行。
输出可能包含Creator: Simple Scan
或类似内容,因此您可以搜索它。
CreationDate
如果您知道大概的创建日期,您也可以尝试使用该字段。
当然,pdfinfo
如果文件不是 PDF 文件,则会返回错误,因此您需要将错误发送到/dev/null
.
尝试使用简单扫描扫描文档,并查看pdfinfo
返回的输出结果。
答案3
PDF 文件中的扫描图像数据很可能前面有类似的内容
<</BitsPerComponent 1/ColorSpace/DeviceGray/DecodeParms<</Columns 2480/K -1>>/Filter/CCITTFaxDecode/Height 3507/Length 96349/Name/Im0/Subtype/Image/Type/XObject/Width 2480>>stream
因此,我开始缩小范围grep -Fil 'subtype/image' filenames
。这至少可以排除不包含图像的 PDF 文件。