当前位置:知识库 / Java开发 / 详情
如何导出pdf文件?
如何导出pdf文件?
Java开发|黄洪辉|2018-06-07 09:23
回答:

主要用到函数说明:


MxDrawXCustomFunction::Mx_ExprotPdf


导出pdf文件,详细说明如下:


参数 说明

CString sPdfFileName

pdf文件路径

double dPaperH = 210

Pdf的图纸高度,该值越大,pdf文件越大,分辨率越高

double dPaperW = 297

Pdf的图纸宽度,该值越大,pdf文件越大,分辨率越高

LPCTSTR pszTitle = NULL

Pdf文件的标题

BOOL isExportLayout = FALSE

是否同时导出DWG图纸的布局页面

BOOL isBlackWhite = FALSE

是否把颜色变成黑白色,再输出

iCountLayout

布局数组长度 LayoutName.. -布局数组的布局名


代码实现如下:


    ActiveXComponent smsg1 = new ActiveXComponent("MxDrawX.MxDrawService");
    // 获取Active对象
    Dispatch msg1 = smsg1.getObject();
    // 调用组件方法,打开指定dwg文件

    msg1.call(msg1, "Open", "D:/temp/ife/1.dwg");
    //msg1.call(msg1, "SaveDwgFile", "D:/temp/ife/1test.pdf");
    ActiveXComponent smsg = new ActiveXComponent("MxDrawX.MxDrawApplication");
    Dispatch msg = smsg.getObject();

    ActiveXComponent paramCom = new ActiveXComponent("MxDrawX.MxDrawResbuf");
    Dispatch param3 = paramCom.getObject();

    param3.call(param3,"AddString","d:/temp/1test.pdf");
    param3.call(param3,"AddDouble",2000);
    param3.call(param3,"AddDouble",2000);
    param3.call(param3,"AddString","ife");
    param3.call(param3,"AddLong",1);
    param3.call(param3,"AddLong",0);
    Object[] params4 = new Object[] {"Mx_ExportPdf",param3};
    Dispatch result = msg.call(msg,"CallEx",params4).toDispatch();
    Variant aaa=result.call(result, "AtString",0);
    System.out.println("done. "+aaa); 
    smsg.safeRelease();
        msg1.call(msg1, "Close");
    smsg1.safeRelease();
    paramCom.safeRelease();
相关问题
如何把打开的dwg图纸,保存为jpg文件?
后台,把打开的dwg图纸,保存为jpg文件.
判断一个点是否在pl线组成的闭合区域内
如何实现自定义实体?
如何显示或隐藏命令行?
如何禁用工具条上某个按钮?
如何显示或隐藏工具条上某个按钮?
如何显示或隐藏所有工具条?
如何使用右键弹出菜单?
如何显示/隐藏菜单项?
梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
技术TEL:400-888-5703
185-8173-1060
客服 QQ: 3570505660
技术 QQ: 6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
用户交流
梦想绘图资讯群Ⅰ:73281982
梦想绘图资讯群Ⅱ:112199959
MxCAD软件更新通知群Ⅰ:515771658
技术I:QQ
6884123
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703