There is another way - using a similar technique to the procedural hex shader defined here to displace additional Image Textures to "fill in" the faked depth.

The following nodes will generate the required offset based on the surface Normal, the Incoming ray, and the 'depth' behind the image plane :

The output vector can be used as an offset to the Image Texture coordinates and used to mix between a Transparent and Diffuse shader to project a faked "shadow" where the back surface would reside based on the specified 'depth'.


Taking this a step further we can "fill in" the depth by generating multiple 'layers' at different depths - eg, 8 layers at 0.125, 0.250, 0.375, 0.500, 0.625, 0.750, 0.875, 1.000 - by varying the 'Factor' of the MixRGB Subtract node.


Since the faked depth is generated on the image plane (it's all one flat surface rather than additional geometry), the surface normal is the same for the projected 'edges' as it is for the rest of the image. For additional realism we need to be able to generate a faked Normal for the projected layers and for this we need to be able to detect the 'direction' of the closest edge for any point in the original image.
To achieve this, take the Alpha channel from the original image and pass it through a Blur filter in an external graphics package such as Gimp (you could potentially use Blender compositor nodes to do this and save as a separate image but it's far simpler to use a tool more suited to the job).

Passing this blurred image into a Bump node will generate a Normal for each point - which will tend to point "outwards" towards the edge of the alpha "island" for each pixel in the image.

We can use the Cross Product vector math node to generate a faked normal based on the bump map that is perpendicular to the actual surface normal and is pointing in the direction of the closest edge from that point.

The Cross Product produces a vector that is perpendicular to both of the input vectors. Therefore, the first Cross Product with Normal produces a vector that is along the surface but that is at 90 degrees to the bump map generated 'normal' while the second Cross Product produces a vector that is at 90 degrees to that (so it's in the direction of the 'bump') which is also at 90 degrees to the surface normal (so it's along the direction of the surface) - ie, the Normal of the 'edge' of the projection.

The generated Normal can then be applied to each of the 'layers' to build up into the associated 'edge'.
Note that the 'edge' will not be correctly shadowed since the 'image' is still only rendered on a single plane - ie, it will not cast shadows on itself and shadows on other geometry will be limited to rays that pass through the image plane. it will also become distorted when viewed at progressively shallower angles. Note also that this will only work be effective if the 'layers' are sufficiently close together to prevent the rays traveling too far 'into' the image (otherwise the normal will be calculated for the opposite edge). However, it can produce quite pleasing results providing the viewing angle is not too shallow.

Note that there are multiple Image Texture nodes and each must be set appropriately - the 'main' Image Texture and the first column should be set to the actual image while the second column set to the 'blurred alpha' image.
Here's the final result :

Despite appearances there is no additional geometry here - the depth is purely faked and the only geometry is the plane.
Blend file attached 
While not suited to UV mapping (since the material cannot determine the scale or orientation of the face), it can be used with Object coordinates to allow the pattern to be repeated (change the Image Texture nodes to Repeat). Also, the Color of the Diffuse shaders can be fed from each 'layer' image rather than being set to a single color - so that the 'surface' color bleeds back along the projected surface. This can produce the following effect :
