Function: pdf-view-decrypt-document

pdf-view-decrypt-document is an interactive and natively compiled function defined in pdf-view.el.

Signature

(pdf-view-decrypt-document)

Documentation

Read a password, if the document is encrypted and open it.

Key Bindings

This command is not in any keymaps.

Source Code

;; Defined in /nix/store/63h5z2vmzn0mfavcxi2idi23g5xcgkbl-emacs-packages-deps/share/emacs/site-lisp/elpa/pdf-tools-20260102.1101/pdf-view.el
(defun pdf-view-decrypt-document ()
  "Read a password, if the document is encrypted and open it."
  (interactive)
  (when (pdf-info-encrypted-p)
    (let ((fn (buffer-file-name))
          (prompt "Enter password for pdf document: ")
          (i 3)
          key password)

      (when fn
        (setq prompt (format "Enter password for `%s': "
                             (abbreviate-file-name fn)))
        (setq key (concat "/pdf-tools" fn))
        ;; First, try with a cached password
        (when (setq password (password-read-from-cache key))
          (ignore-errors (pdf-info-open nil password))
          (when (pdf-info-encrypted-p)
            (password-cache-remove key))))

      (while (and (> i 0)
                  (pdf-info-encrypted-p))
        (setq i (1- i))
        ;; Cached password was not present or valid, try reading a new password
        ;; without cache.
        (setq password (password-read prompt))
        (setq prompt "Invalid password, try again: ")
        (ignore-errors (pdf-info-open nil password)))
      (pdf-info-open nil password)
      (when key
        (password-cache-add key password))))
  nil)