【问题标题】:Convert BMP file to PDF将 BMP 文件转换为 PDF
【发布时间】:2017-01-18 15:46:56
【问题描述】:

我想在 Visual Studio 中使用 Visual Basic 技术将文件格式 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

【问题讨论】:

  • 确保文件E:...\bin\Debug-1493104802 存在。如果你想要一个真正的答案,你需要展示你的代码。
  • 我不认为你可以转换它,但你绝对可以使用 XGraphics 对象将 bmp 绘制为新的 PdfDocument
  • 感谢您的回答。我会将其复制到 PdfDocument 中。我没有在代码中发现问题。我在图书馆的问题 PdfSharp
  • 可能只是文件名中缺少“.bmp”。也许还有更多错误,假设“bin\Debug”是一个文件夹。
  • 显示您的代码。如果我们能看到您如何使用 PdfSharp,我们会更好地帮助您。查看错误,文件不存在。

标签: vb.net pdfsharp


【解决方案1】:

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

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

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

【讨论】:

  • 是的,这就是我正在做的所有事情,我真的不知道我现在应该做什么来解决它
  • @AliLatrach 提供一个 MCVE,而不仅仅是一个代码片段。 stackoverflow.com/help/mcve
【解决方案2】:

来自您的代码 sn-p:

Dim img As XImage = XImage.FromFile(myGraphics.GetHdc)

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

将图像保存到 Stream,然后调用 XImage.FromStream 以在 PDFsharp 中获取该图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    • 2011-01-01
    • 2012-04-18
    • 2014-08-29
    • 2020-12-29
    • 2011-12-23
    相关资源
    最近更新 更多