0

ストリーム内に PDF ドキュメントが保存されているストリームからビットマップを作成しようとしていますが、引数 null 例外が発生し続けます。MS は null ではなく、0 に配置されています。そのため、他に何をすべきか迷っています。

Windows フォーム アプリケーション サンドボックスを使用して機能をテストしていますが、ビットマップに保存するメモリ ストリームを取得できません。

誰かが私が間違っているところを指摘できますか?

   private async void Form1_Load(object sender, EventArgs e)
{
    //4355,4373

    IElevation elev = await ElevationManager.GetElevationAsync(4355);

    PdfSharp.Pdf.PdfDocument pdfDoc =
      await (await AlumCloudPlans.Manager.GetLabelsAsync(elev)).GetPDF(new SheetInfo(/*settings for PDF, Img printing is different*/3, 10, 240, 95, 780, 1000));

    System.IO.Stream ms = new MemoryStream();

    pdfDoc.Save(ms, false);
    ms.Position = 0;

    Bitmap bm = new Bitmap(ms); <---------(Error right here, says argument null)

    this.AutoScroll = true;
    this.pictureBox1.Image = bm;
    this.pictureBox1.BackColor = Color.White;
    this.Size = new System.Drawing.Size(bm.Width, (bm.Height + 50) / 2);
    this.pictureBox1.Size = new System.Drawing.Size(bm.Width, bm.Height + 5);
}

ここで何が欠けていますか?

4

1 に答える 1

0

PDF ドキュメントを含むストリームを開こうとしています。Bitmap コンストラクターは画像データを予期しています。PDFSharp は PDF ドキュメントのみを作成できますが、画像にレンダリングすることはできません。

PDF ドキュメントをビットマップにレンダリングするには、lib-pdfmupdf-converter、Ghostscript 用の .NET ラッパーなど、他のライブラリを使用する必要があります。

于 2013-08-03T06:34:39.290 に答える