if anyone looking to solve this with open-source, try Unstract - https://github.com/Zipstack/unstract
Is this really open-source? The main sauce in this seems to be the text extractor "Unstract LLMWhisperer" that gets very expensive very fast if you're using it a lot.