Apply Object Texture Coordinates
You can do this by creating a special new material of the texture coordinates and baking it, then using the baked image for the texture coordinates of your split objects.  Note thatt this should be done before cell fracturing your object.

First unwrap your object.  It doesn't have to be a super clean unwrap, just something not too distorted.

Now create a new material and name it something like "MappingCoords" or whatever makes sense to you.  For the material just plug the Object texture coordinates into an emission shader.  Since color and vector datatypes are no different from each other the XYZ texture coordinates will now be represented by RGB values.



Now go to the UV/Image Editor and add a new blank image by clicking on the New button at the bottom.  What resolution to use will depend on how big your model is and the resolution of the texture you will be using.



Next go back to the node editor and add an Image Texture node.  Don't plug it into anything or modify your nodes, just select the blank image you just made and make sure the node is selected.  Now go to the Render Properties tab and scroll all the way down to the Bake Rollout.  Select Bake Type Emit and hit the Bake button.



The bake should look something like this:



Now go to the UV/Image Editor and save the baked image as an OpenEXR file (other file formats will undesirably clamp the &lt;0 and >1 values to 0 and 1).  You can then load the image and plug it into the Vector of the image texture for your material.



Now when you cell fracture the object each fractured piece should retain its UV unwrapped coordinates, which are being used to map the baked texture coordinates for the actual image texture.



Here is my .blend so you can take a closer look at what I did:



You will have to either re-bake the coords or download the above image (it's a PNG not EXR, but it will work in this case since I used generated coords which are in [0,1]) since the file was too big to fit on Blend Exchange.