extract_pdfs.py 878 B

1234567891011121314151617181920212223242526
  1. # -*- coding: utf-8 -*-
  2. import os, fitz
  3. src = r"D:\产线\大洋\大洋操作手册汇总8.28"
  4. out = r"D:\IdeaProjects\mes-ahdy\mescloud\_apk_work\manuals_text"
  5. os.makedirs(out, exist_ok=True)
  6. for name in os.listdir(src):
  7. if not name.lower().endswith(".pdf"):
  8. continue
  9. path = os.path.join(src, name)
  10. print("extracting", name)
  11. doc = fitz.open(path)
  12. parts = []
  13. for i, page in enumerate(doc):
  14. text = page.get_text("text")
  15. parts.append("\n\n===== PAGE %d =====\n" % (i + 1))
  16. parts.append(text)
  17. base = os.path.splitext(name)[0]
  18. # skip huge combined book last or still extract
  19. dest = os.path.join(out, base + ".txt")
  20. with open(dest, "w", encoding="utf-8") as f:
  21. f.write("".join(parts))
  22. print(" pages", doc.page_count, "chars", sum(len(p) for p in parts), "->", dest)
  23. doc.close()
  24. print("done")