Wrong translation solution: Elle offre un livre
Elle offre un livre. Correct solutions: She buys a book. => wrong She is offering a book.
'to buy' is 'acheter', and 'offrir' is anything but a synonym :)
I believe that the reason why the French "offrir" does not exactly translate "buy" and vice-versa is that you may offer something you have not bought/paid. In addition, in usual French it is not very elegant to refer to money (buy=acheter) when you invite someone for lunch, for exemple.
Offre means buying, it's true, but it actually means buy something for someone. In addition it may also mean to give something to someone as a gift.
And i guess the sentence concerns the second case.
the wordreference page about offre may provide some useful help: