Microstation生成PDF文件

简介:

将Microstation的draw 转化为PDF文件(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

相关文章
|
3月前
|
XML 缓存 JSON
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
为什么浏览器中有些图片、PDF等文件点击后有些是预览,有些是下载
244 0
|
23天前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。
|
23天前
|
Java Apache Maven
Java将word文档转换成pdf文件的方法?
【10月更文挑战第13天】Java将word文档转换成pdf文件的方法?
112 1
|
1月前
|
索引 Python
PDF文件页面提取操作小指南
PDF文件页面提取操作小指南
|
1月前
|
Python
Python对PDF文件页面的旋转和切割
Python对PDF文件页面的旋转和切割
|
1月前
|
计算机视觉 Python
Python操作PDF文件
Python操作PDF文件
|
1月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
63 2
|
1月前
|
人工智能 计算机视觉 Python
ChatGPT编程省钱、方便小示例——实现PDF转成PNG文件
ChatGPT编程省钱、方便小示例——实现PDF转成PNG文件
|
1月前
|
存储 安全 网络安全
Python编程--使用PyPDF解析PDF文件中的元数据
Python编程--使用PyPDF解析PDF文件中的元数据
|
24天前
|
JavaScript 前端开发 容器
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
Vue生成PDF文件攻略:html2canvas与jspdf联手,中文乱码与自动换行难题攻克
47 0