将BMP文件转换为PDF

时间:2017-01-18 15:46:56

标签: vb.net pdfsharp

我想使用Visual Basic技术在Visual Studio中将文件格式BMP转换为PDF,我使用PDFsharp库来执行此操作。
我收到了以下错误:

  

PdfSharp-wpf.dll中发生未处理的“System.IO.FileNotFoundException”类型异常

     

附加信息:文件'E:... \ bin \ Debug-1493104802'不存在。

我将表单的全部内容复制到.bmp并且运行正常。你可以看到我的代码:

Call SendMessage(TableLayoutPanel2.Handle, WM_PRINT, hdc, _ EDrawingOptions.PRF_CHILDREN Or _ EDrawingOptions.PRF_CLIENT Or _ EDrawingOptions.PRF_NONCLIENT Or _ EDrawingOptions.PRF_OWNED)

myGraphics.ReleaseHdc(hdc)

Dim doc As New PdfDocument()
doc.Pages.Add(New PdfPage())
Dim xgr As XGraphics = XGraphics.FromPdfPage(doc.Pages(0))
Dim img As XImage = XImage.FromFile(myGraphics.GetHdc)

xgr.DrawImage(img, 0, 0)
doc.Save("E:\out.pdf")
doc.Close()


'  myBmp.Save("E:\out.bmp")

myGraphics.Dispose()
myGraphics = Nothing

myBmp = Nothing

2 个答案:

答案 0 :(得分:0)

查看代码之后,看起来您正在使用myGraphics生成图像,如果是这种情况,您可能希望将其保存到临时文件,将其加载到pdf中,然后您可以在保存pdf后删除它。

使用以下链接中的信息保存文件。

https://stackoverflow.com/a/2881188/7436406

答案 1 :(得分:0)

从您的代码段:

req.body.deletedItems

您需要一个文件名,但是你传递了一个HDC?大。 也许编译器隐式调用ToString()来进行编译。但是没有文件。

将图像保存到Stream,然后调用Dim img As XImage = XImage.FromFile(myGraphics.GetHdc) 以PDFsharp格式获取该图像。