Hola,
La ruta de la imagen se refiere a la del servidor y no a la local. Cuando das,
Image.getInstance("D:\image\sample.jpg");
en realidad busca sample.jpg en D:\image de la máquina del servidor. Por lo tanto, guarda el archivo en el servidor en alguna ubicación y luego ejecuta la aplicación. Funcionará, consulta esto para obtener ayuda adicional sobre iText.
http://www.geek-tutorials.com/java/itext/itext_image.php
Saludos,
Harini S