アプリケーション ディレクトリにある場合、MigraDoc は画像の挿入を提供します。例:
Section section = document.AddSection();
section.AddImage("../../SomeImage.png");
.AddImage パラメータに http 画像パスを追加すると、「画像が見つかりません」と表示されます。PDFで。
MigraDoc によって生成された PDF に http 画像を挿入する方法はありますか?
いいえ、HTTP 参照経由で画像を挿入することはできません。
イメージをローカル フォルダーにダウンロードし、このローカル コピーを MigraDoc ドキュメントに追加します。
PDFsharp を使用する場合、ローカル ファイルは必要ありません。代わりに Image オブジェクトを使用できます。
XImage.FromURI のコードはここにあります (PDFsharp の場合):
http://forum.pdfsharp.de/viewtopic.php?p=4851&sid=4898a4ff0b0437cfdbb80bc48bdfed36#p4851
MigraDoc が動的画像を使用できるようにするコード (一時的なローカル ファイルは不要) は、次の場所にあります
。
更新:
PDFsharp 1.50 ベータ 2 以降では、メモリにある画像 (byte[] など) を簡単に追加できます。HTTP 参照しかない場合でも、自分で画像をダウンロードする必要があります。しかし、一時ファイルやパッチが適用された MigraDoc バージョンはもう必要ありません。
MigraDoc サイトの詳細情報
トリックは簡単です: 画像を文字列に変換し、それを "base64:" プレフィックス付きのファイル名として渡します。
static string MigraDocFilenameFromByteArray(byte[] image)
{
return "base64:" +
Convert.ToBase64String(image);
}