mirror of
https://github.com/ocrmypdf/OCRmyPDF.git
synced 2026-05-04 04:35:49 -04:00
Check for encrypted PDF and complain appropriately
This commit is contained in:
@@ -45,7 +45,11 @@ def repair(input_file, output_file, log):
|
||||
print(e.output)
|
||||
return
|
||||
|
||||
if e.returncode == 2:
|
||||
if e.returncode == 2 and e.output.find("invalid password"):
|
||||
print("{0}: this PDF is password-protected - password must "
|
||||
"be removed for OCR".format(input_file))
|
||||
sys.exit(ExitCode.input_file)
|
||||
elif e.returncode == 2:
|
||||
print("{0}: not a valid PDF, and could not repair it.".format(
|
||||
input_file))
|
||||
print("Details:")
|
||||
|
||||
BIN
tests/resources/skew-encrypted.pdf
Normal file
BIN
tests/resources/skew-encrypted.pdf
Normal file
Binary file not shown.
@@ -317,3 +317,9 @@ def test_qpdf_repair_fails():
|
||||
print(out)
|
||||
print(err)
|
||||
assert p.returncode == ExitCode.input_file
|
||||
|
||||
|
||||
def test_encrypted():
|
||||
p, out, err = run_ocrmypdf_env('skew-encrypted.pdf', 'wont_be_created.pdf')
|
||||
assert p.returncode == ExitCode.input_file
|
||||
assert out.find('password')
|
||||
|
||||
Reference in New Issue
Block a user