Next step: create a corpus, and feed into a CycleGAN with landscape paintings & photographs as the other, so you can turn a book into a landscape.<p>Final step: since CycleGAN goes both directions, you can decode an arbitrary landscape painting into a 'book' and use a language model to fill in all the words with the highest-probability word that fits.