mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
27 lines
699 B
Python
27 lines
699 B
Python
"""Page count via pikepdf. Args: {"path": "/abs/file.pdf"}. Prints {"pages": N}."""
|
|
import json
|
|
import sys
|
|
|
|
|
|
def main():
|
|
args = json.loads(sys.argv[1]) if len(sys.argv) > 1 else {}
|
|
path = args.get("path")
|
|
if not path:
|
|
print(json.dumps({"error": "missing path"}))
|
|
sys.exit(1)
|
|
try:
|
|
import pikepdf
|
|
except ImportError:
|
|
print(json.dumps({"error": "pikepdf not installed"}))
|
|
sys.exit(1)
|
|
try:
|
|
with pikepdf.open(path) as pdf:
|
|
print(json.dumps({"pages": len(pdf.pages)}))
|
|
except Exception as exc: # noqa: BLE001
|
|
print(json.dumps({"error": str(exc)}))
|
|
sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|