Microstation生成PDF文件

简介:

将Microstation的draw 转化为PDF文件43.gif(kentyshang@gmail.com)
Public Function cbfGeneratePDF(ByVal strIn As String, ByVal strOut As String, ByVal strPDFDriver As String) As Boolean
On Error GoTo cbfGeneratePDF_Err
Dim msApp As MicroStationDGN.Application
Dim oDgn As MicroStationDGN.DesignFile
Dim oCadInputQueue As MicroStationDGN.CadInputQueue
Dim boolOpen As Boolean

Dim pfile As New clsFileOperate
Dim pSrvFile As Object
Dim var() As String, strPDFName As String

Set msApp = New Application

If Dir$(msApp.ActiveWorkspace.ConfigurationVariableValue("_USTN_SYSTEMROOT") & Trim(strPDFDriver)) = "" Then

     var = Split(strPDFDriver, "\")
     strPDFName = var(UBound(var))
     
     Set pSrvFile = New clsFileOperate
     If Not pfile.CopyFile(pOGlobalConst.prpcolGC.item("CMSConfigFilePath") & "\" & strPDFName, pOGlobalConst.item("CMSServerWorkLn") & "\" & pstrUsr_ID & "\" & strPDFName, True) Or _
                Not pSrvFile.CopyFile(pOGlobalConst.item("CMSServerWorkLn") & "\" & pstrUsr_ID & "\" & strPDFName, msApp.ActiveWorkspace.ConfigurationVariableValue("_USTN_SYSTEMROOT") & Trim(strPDFDriver), True) Then
            Err.Description = "Copy PDF Driver fail : '" & pOGlobalConst.prpcolGC.item("CMSConfigFilePath") & "\" & strPDFName & "' to '" & msApp.ActiveWorkspace.ConfigurationVariableValue("_USTN_SYSTEMROOT") & Trim(strPDFDriver) & "'"
            GoTo cbfGeneratePDF_Err
     End If
     
End If
    
    
    If msApp Is Nothing Then Set msApp = New Application
     With msApp
'        .LeftPosition = 1000
'        .Width = 1000
'        .Height = 1000
'        .Visible = False
    End With
    
    Set oDgn = msApp.OpenDesignFile(Trim(strIn))
    boolOpen = True
    Set oCadInputQueue = msApp.CadInputQueue
    
    With oCadInputQueue
        'Open print dialog  打开print对话框
        .SendCommand "DIALOG PLOT"
        'Set Area="Fit All" and select View 1 让Current Draw在当前窗口最大化
        .SendCommand "PRINT BOUNDARY FIT ALL 1"
        'select pdf file print driver           '设定print driver
        .SendCommand "PRINT DRIVER " & msApp.ActiveWorkspace.ConfigurationVariableValue("_USTN_SYSTEMROOT") & Trim(strPDFDriver)
        'export pdf file           '将current Draw中的图转化为pdf
        .SendCommand "PRINT EXECUTE " & Trim(strOut)
        'close the print dialog   '关闭print对话框
        .SendCommand "PRINT EXIT PLOTDLG"
        .SendCommand "MDL UNLOAD PLOTDLG"
    End With
    cbfGeneratePDF = True
        
cbfGeneratePDF_Cleanup:
'    msApp.Quit
    If Not pSrvFile Is Nothing Then Set pSrvFile = Nothing
    If Not pfile Is Nothing Then Set pfile = Nothing
    If Not msApp Is Nothing Then Set msApp = Nothing
    If boolOpen Then oDgn.Close
    Set msApp = New Application
    If msApp Is Nothing Then Set msApp = New Application
    Set oDgn = msApp.OpenDesignFile(Trim(pstrDGNPath))
    Exit Function

cbfGeneratePDF_Err:
    cbfGeneratePDF = False
    App.LogEvent "Err GeneratePDF : " & CStr(Err.Number) & Err.Source & " : clsUtility-cbfGeneratePDF : " & Err.Description
    Resume cbfGeneratePDF_Cleanup
End Function

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2006/09/21/510932.html如需转载请自行联系原作者


kenty

相关文章
|
1月前
|
数据挖掘 数据安全/隐私保护 开发者
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
使用Spire.PDF for Python插件从PDF文件提取文字和图片信息
69 0
|
1月前
|
存储 缓存 Python
如何使用Python抓取PDF文件并自动下载到本地
如何使用Python抓取PDF文件并自动下载到本地
33 0
|
3月前
|
Java API Apache
使用 Apache PDFBox 操作PDF文件
Apache PDFBox库是一个开源的Java工具,专门用于处理PDF文档。它允许用户创建全新的PDF文件,编辑现有的PDF文档,以及从PDF文件中提取内容。此外,Apache PDFBox还提供了一些命令行实用工具。
102 6
|
3月前
|
存储
Vue3 实现 PDF 文件在线预览功能
Vue3 实现 PDF 文件在线预览功能
305 0
|
4月前
|
JavaScript 前端开发
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
|
2月前
|
编解码 数据可视化 数据挖掘
【办公自动化】用Python将PDF文件转存为图片
【办公自动化】用Python将PDF文件转存为图片
63 1
|
1月前
|
JSON JavaScript 前端开发
vue项目使用Print.js插件实现PDF文件打印
vue项目使用Print.js插件实现PDF文件打印
40 0
|
1月前
|
Shell Python
Python生成PDF文件
Python生成PDF文件
22 0
|
1月前
|
前端开发
前端实现生成pdf文件并下载
前端实现生成pdf文件并下载
36 1
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
99 0