Files
SnapOtter/packages/ai/python/doc_pagecount.py
T

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()