Нет, вы не можете вставлять изображения по ссылке HTTP.
Загрузите изображение в локальную папку и добавьте эту локальную копию в документ MigraDoc.
При использовании PDFsharp вам не нужен локальный файл; вместо этого можно использовать объект Image.
Код для XImage.FromURI можно найти здесь (для PDFsharp):
http://forum.pdfsharp.de/viewtopic.php?p=4851&sid=4898a4ff0b0437cfdbb80bc48bdfed36#p4851
код, который позволяет MigraDoc сделать использование динамических изображений (не требует временного локального файла) можно найти здесь:
http://forum.pdfsharp.de/viewtopic.php?p=4123&sid=4898a4ff0b0437cfdbb80bc48bdfed36#p4123
Обновление:
С PDFsharp 1.50 beta 2 и более поздними версиями вы можете легко добавлять изображения в память (байт [] или такие). Если у вас есть только HTTP-ссылка, вам все равно придется загружать изображение самостоятельно. Но вам больше не нужен временный файл или исправленная версия MigraDoc.
More information on the MigraDoc site
Хитрость проста: конвертировать изображения в строку и передать в качестве имени файла с «base64:» префикс.
static string MigraDocFilenameFromByteArray(byte[] image)
{
return "base64:" +
Convert.ToBase64String(image);
}