diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2021-02-01 06:11:18 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2021-02-01 06:11:18 +0000 |
commit | 4f9de1dfebdc66d367d730252d6f224d37e96ee6 (patch) | |
tree | 3750421fabf3aa8a8e1f4f6d5558d489e9d4fe02 /Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc | |
parent | 9d694205709f79666458dc2ee685767b28bcd9ac (diff) |
xpdf 4.03
git-svn-id: svn://tug.org/texlive/trunk@57588 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc')
-rw-r--r-- | Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc b/Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc index f5f593b9f13..621fb69ea6f 100644 --- a/Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc +++ b/Build/source/libs/xpdf/xpdf-src/xpdf/pdfinfo.cc @@ -102,6 +102,9 @@ int main(int argc, char *argv[]) { FILE *f; GString *metadata; ZxDoc *xmp; + int permFlags, keyLength, encVersion; + GBool ownerPasswordOk; + CryptAlgorithm encAlgorithm; GBool ok; int exitCode; int pg, i; @@ -113,7 +116,7 @@ int main(int argc, char *argv[]) { fixCommandLine(&argc, &argv); ok = parseArgs(argDesc, &argc, argv); if (!ok || argc != 2 || printVersion || printHelp) { - fprintf(stderr, "pdfinfo version %s\n", xpdfVersion); + fprintf(stderr, "pdfinfo version %s [www.xpdfreader.com]\n", xpdfVersion); fprintf(stderr, "%s\n", xpdfCopyright); if (!printVersion) { printUsage("pdfinfo", "<PDF-file>", argDesc); @@ -216,15 +219,19 @@ int main(int argc, char *argv[]) { printf("Pages: %d\n", doc->getNumPages()); // print encryption info - printf("Encrypted: "); if (doc->isEncrypted()) { - printf("yes (print:%s copy:%s change:%s addNotes:%s)\n", + doc->getXRef()->getEncryption(&permFlags, &ownerPasswordOk, &keyLength, + &encVersion, &encAlgorithm); + printf("Encrypted: %s %d-bit\n", + encAlgorithm == cryptRC4 ? "RC4" : "AES", + keyLength * 8); + printf("Permissions: print:%s copy:%s change:%s addNotes:%s\n", doc->okToPrint(gTrue) ? "yes" : "no", doc->okToCopy(gTrue) ? "yes" : "no", doc->okToChange(gTrue) ? "yes" : "no", doc->okToAddNotes(gTrue) ? "yes" : "no"); } else { - printf("no\n"); + printf("Encrypted: no\n"); } // print page size @@ -261,18 +268,18 @@ int main(int argc, char *argv[]) { if (multiPage) { for (pg = firstPage; pg <= lastPage; ++pg) { page = doc->getCatalog()->getPage(pg); - sprintf(buf, "Page %4d MediaBox: ", pg); + snprintf(buf, sizeof(buf), "Page %4d MediaBox: ", pg); printBox(buf, page->getMediaBox()); - sprintf(buf, "Page %4d CropBox: ", pg); + snprintf(buf, sizeof(buf), "Page %4d CropBox: ", pg); printBox(buf, page->getCropBox()); - sprintf(buf, "Page %4d BleedBox: ", pg); + snprintf(buf, sizeof(buf), "Page %4d BleedBox: ", pg); printBox(buf, page->getBleedBox()); - sprintf(buf, "Page %4d TrimBox: ", pg); + snprintf(buf, sizeof(buf), "Page %4d TrimBox: ", pg); printBox(buf, page->getTrimBox()); - sprintf(buf, "Page %4d ArtBox: ", pg); + snprintf(buf, sizeof(buf), "Page %4d ArtBox: ", pg); printBox(buf, page->getArtBox()); } - } else { + } else if (doc->getNumPages() > 0) { page = doc->getCatalog()->getPage(firstPage); printBox("MediaBox: ", page->getMediaBox()); printBox("CropBox: ", page->getCropBox()); |