In a recent discussion with a customer it became clear that adding a personal "watermark" to ePub books is the best way to prevent casual piracy (and it's not even worth trying to prevent professional piracy). Basically all you need is a personalized copy of the book for each customer, with "Licensed to Customer Name" in the rights field in the ePub properties, and optionally also on one of the opening pages in the book itself. You can generate personalized copies with Help+Manual, but reconfiguring and recompiling every single one is time-consuming. My idea is to create a little command line utility that can do it for you, which you can then combine with digital signing.
This is still in the basic brainstorming phase. What I need to know is what functionality would make it most useful for you. At the moment I'm looking at the following basics:
- Command-line only with standard exit codes for integration in batch files.
- Parameters can be read for an individual book with command line switches or for multiple books from an external file.
- Basic parameters are 1) License text to use ("Licensed to "); 2) Customer name 3) Optional ID of a topic where the license reference is to go in addition to the rights property 4) Source file 5) Output folder
Then there is the question of the output file name: If you're processing a list of orders in a file you'll want to be able to identify the output files that you're going to send. There are a couple of possible ways of doing this:
- Add the customer name or a reference code to the output file name.
- Create an output folder with the customer name in it.
- Simply use the single-output version with the command line switches rather than a list from a file. Then processing passes directly on to your batch process, which takes the output file and does whatever is necessary (for example mailing it to the customer etc).
Then there's the question of the external file with the list of customer names. The options would be INI format or comma-separated. Personally I feel it would be easiest to have one set of comma-separated values on each line. That should also be the easiest to generate.
That's an outline of the basic ideas. Suggestions and wishes?