Olá,
O caminho da imagem se refere ao do servidor e não ao local. Quando você usa,
Image.getInstance("D:\image\sample.jpg");
ele realmente procura por sample.jpg em D:\image na máquina do servidor. Portanto, salve o arquivo no servidor em alguma localização e então execute a aplicação. Isso funcionará, consulte isso para obter ajuda adicional sobre o iText.
http://www.geek-tutorials.com/java/itext/itext_image.php
Saudações,
Harini S