Files
Novodraft/ax3Services/docConvertService/splitPdf.py
2026-05-23 17:08:47 -04:00

137 lines
2.8 KiB
Python

import os
import uuid
from pdf2image import convert_from_path
from pdf2image.exceptions import (
PDFInfoNotInstalledError,
PDFPageCountError,
PDFSyntaxError,
)
class SplitPdf(object):
def make_dir(self, newDir):
print("newDir in module", newDir)
self.directory = newDir
self.parent_dir = "../Documents/Converted/"
self.path = os.path.join(self.parent_dir, self.directory)
os.mkdir(self.path)
def split_and_convert(self, pathArg, newDir):
print("in split and convert: pathArg, newDir", pathArg, newDir)
arr = [
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h",
"i",
"j",
"k",
"l",
"m",
"n",
"o",
"p",
"q",
"r",
"s",
"t",
"u",
"v",
"w",
"x",
"y",
"z",
"aa",
"ab",
"ac",
"ad",
"ae",
"af",
"ag",
"ah",
"ai",
"ak",
"al",
"am",
"an",
"ao",
"ap",
"aq",
"ar",
"as",
"at",
"au",
"av",
"aw",
"ax",
"ay",
"az",
"ba",
"bb",
"bc",
"bd",
"be",
"bf",
"bg",
"bh",
"bi",
"bk",
"bl",
"bm",
"bn",
"bo",
"bp",
"bq",
"br",
"bs",
"bt",
"bu",
"bv",
"bw",
"bx",
"by",
"bz",
"za",
"zb",
"zc",
"zd",
"ze",
"zf",
"zg",
"zh",
"zi",
"zj",
"zk",
"zl",
"zm",
"zn",
"zo",
"zp",
"zq",
"zr",
"zs",
"zt",
"zu",
"zv",
"zw",
"zx",
"zy",
"zz",
]
self.images = convert_from_path(pathArg, fmt="png")
print(f"../Documents/Converted/{self.directory}")
for i, image in enumerate(self.images):
fname = f"{newDir}" + arr[i] + ".png"
image.save(f"../Documents/Converted/{self.directory}/{fname}", "PNG")
# split pdf to multiple png files
# https://pypi.org/project/pdf2image/
# https://pythonforundergradengineers.com/pdf-to-multiple-images.html
# convert to js(?):
# https://www.npmjs.com/package/pdf2image