2015-06-12 62 views
1

我正在尝试使用PDFsharp将QR码的动态生成的位图插入到PDF文档中。我不想将位图保存到文件中,只是想将其插入到PDF中。我遇到的问题是DrawImage命令正在寻找图像文件所在的字符串。但我不想保存该文件,我只是想将其插入到PDF文档中。有没有办法做到这一点?如何使用PDFsharp将动态生成的位图插入到PDF文档中?

   var QRCode_BMP = _generalCode.QR_CodeGenerator(AddReviewPath); //This generates the bitmap 
       MemoryStream streamQR = new MemoryStream(); 
       QRCode_BMP.Save(streamQR, System.Drawing.Imaging.ImageFormat.Jpeg); //save bitmap into memory stream in jpeg format System.Drawing.Image QR_Jpeg = System.Drawing.Image.FromStream(streamQR);// save memory stream to image file 
       XImage xImage = XImage.FromGdiPlusImage(QR_Jpeg); 
       gfx = XGraphics.FromPdfPage(page); 

       DrawImage(gfx, xImage, 0, 0, 100, 100); //This is not working 

       QRCode_BMP.Dispose(); 
       streamQR.Close(); 
       gfx.Dispose(); 
+0

请提供更多信息,而不仅仅是“这不工作”。 –

+0

DrawImage命令实际上并不寻找xImage,它需要一个文件所在位置的字符串。正如我上面提到的,我不想将文件保存到磁盘。如果您有任何想法,肯定会感激。 – user2789697

+0

它有助于使用正确的DrawImage()方法。尝试'gfx.DrawImage(...)'并传递你的xImage。 –

回答

2

您创建QRCode_BMP一个QR代码,然后你从QR_Jpeg创建一个XImage和写它不工作。

QRCode_BMP仅用于创建从不使用的流。我们没有看到QR_Jpeg来自哪里。

提供完整的样本。

BTW:您可以使用XImage.FromStream来使用您创建的流。

P.S .: IMHO JPEG是一个不错的选择QR码。只需使用BMP并且PDFsharp将使用无损压缩。

相关问题