I have a client who wants to search for specific PDF files when she makes use of Craft's search function. The way she wants the PDF's to be found is that the words inside of the PDF is somehow processed by Craft and when you search for certain words that are included in a PDF it will show results of PDF's that contain these search words.

I have Googled for a module that can do such a thing but so far I have no luck. Does anyone know if such a module/plugin exists for Craft or do I need to hire someone to create that for me?

Thank you for reading.


As far as I know, there is no ready-built solutions available for Craft that makes text in PDFs searchable.

You probably have to look into building this plugin yourself, or hire someone to do it.

Posting in the #jobs channel on Craft's Slack is a good place to start.

  • Thank you very much. Although I'm not going to hire someone because this would make the project too expensive for my client. Sucks though especially because I'm convincing her to use Craft over Wordpress and she told me "Well in Wordpress I am able to do that so..." But I'll try harder to persuade her into using tags instead of all the words in a PDF would be more effective. Sep 20 '17 at 13:48

I would also suggest a custom plugin approach. A good starting point would be this package: https://github.com/smalot/pdfparser. I am mostly including this answer for anyone who happens to find this question and has the ability/inclination to create such a plugin.


It's not as neat as something automated but could add a custom field to your asset type (or if each PDF has an entry, to that entry type) called something like 'PDF Content'. I would probably make it a multi-line plain text field. You can then get your client to copy and paste all the content from the pdf into that field when uploading and use this content to search from.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.