我想动态显示 .pdf 文件,例如报告中的图片,它应该如下所示:
我已经尝试过使用网络浏览器,但它没有显示在预览中或当我打印报告时...
我还尝试了 ole 未绑定(bind)对象,也没有成功,这里是我在 Report_Load
事件中的代码:
Dim vPath As String
vPath = GetNewestDocument(Me!artNr)
'Returns path for pdf file, about:blank if there is no file.
If vPath = "about:blank" Then
Me!PDFBrowser.visible = True
Me.PDFBrowser.SourceDoc = vbNullString
Else
With Me.PDFBrowser
.OLETypeAllowed = acOLELinked
.SourceDoc = vPath
.SizeMode = acOLESizeStretch
End With
End If
编辑:
“我想动态显示...”我的意思是动态更改报告中的 pdf 文件。
编辑2:
我刚刚发现 OLEunbound 对象的类型是嵌入的,但我认为应该链接这个对象,正如我在其他论坛中读到的那样:
当我尝试更改时,出现错误:“此属性无法更改,因为它是只读的”
最佳答案
您可以获得 Adobe Acrobat 的许可版本(不是 Reader)并以编程方式控制它以捕获您想要的图像。
或者,您可以使用 VBA Shell Function
调用命令行 PDF 转换器,如 2Jpeg以编程方式(必要时动态)将 PDF 转换为图像(请参阅 this ),甚至使用正确的驱动程序将 PDF“打印”为图像文件(请参阅 this )。
一旦有了图像文件,您就可以使用 VBA(也许使用 this)轻松地将创建的图像加载到 Access 表单中。 .
如果没有更多信息(以及我之前问题的答案),我目前无法提供更多建议,但我希望有所帮助!
关于ms-access - 在报告中显示 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48303493/