Hello! I just finished working in a similar project about encryption.
My idea is you can give a license code associated to an e-mail account (or username), this way the program will check with an algorithm if the email and code are correct, and then the user can access the documents. (Most of licensed programs work this way)
Another way (if you want to be able to cancel licenses at any time) is to connect the software to the internet and check with a database. Another simple solution is giving periodical keys, for example, every month (the algorythm will also update every month or every certain period and then users will need a new key)
As you can see, I'm a big fan of encryption :D
Please, write me if you would like to ask me more questions, I think I can do the job you need. Thank you!