You've got a book to make!
Python 2, 306 304 283 279 bytes



def f(w,h,s):
 b=[];w-=4;h-=2;H='+-'+'-'*w+'-+';x=l='';s=s.split()
 while s:
&#9;W=s.pop(0)
&#9;if W[w:]:W,s=W[:w-1]+'-',['-'+W[w-1:]]+s
&#9;if len(l+W)&lt;=w-(l&gt;x):l+=' '*(l&gt;x)+W
&#9;else:b+=[l];l=W
 b+=[l]+[x]*h
 while any(b):print'\n'.join([H]+['| %-*s |'%(w,b.pop(0))for _ in' '*h]+[H,x,x])


Try it online!