pdf-求大神 帮我看看问题 Java中 调用虚拟打印机 把word转存为PDF

问题描述

求大神 帮我看看问题 Java中 调用虚拟打印机 把word转存为PDF
 public class SaveWordAspdf {

    public static void saveWordAspdf(String filePath, String outFile) throws Exception {
            ComThread.InitSTA();
            ActiveXComponent actcom = new ActiveXComponent("Word.Application");
            Dispatch documents = null;
            Dispatch document = null;

            try {
                actcom.setProperty("Visible", new Variant(false));

                documents = actcom.getProperty("Documents").toDispatch();
                document = Dispatch.invoke(documents,"Open", Dispatch.Method, new Object[] {
                        filePath,  new Variant(false), new Variant(false)
                 }, new int[1]).toDispatch();

                Dispatch.invoke(document, "SaveAs", Dispatch.Method, new Object[] {
                        outFile,new Variant(false)},new int[1]);

                Dispatch.call(document, "Close", new Object[] { new Variant(false) });
                if (actcom != null) {
                    actcom.invoke("Quit", new Variant[] {});
                    actcom = null;
                }
                ComThread.Release();

            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (actcom != null) {
                    actcom.invoke("Quit", new Variant[] {});
                    actcom = null;
                }
                ComThread.Release();
            }
        }

    public  static void  print(String path)throws Exception {
            String PRINT_NAME="pdfFactory Pro";//打印机名称
            //初始化COM线程
            ComThread.InitSTA();
            ActiveXComponent doc=new ActiveXComponent("Word.Application");
            try { 

                //设置是否显示打开word
                Dispatch.put(doc, "Visible", new Variant(true));
                //打开具体的工作簿
                Dispatch documents = doc.getProperty("Documents").toDispatch();
                Dispatch word = Dispatch.call(documents,"Open",path).toDispatch(); 

                //设置打印属性并打印
                Dispatch.callN(word,"PrintOut",new Object[]{Variant.VT_MISSING, Variant.VT_MISSING, new Integer(1),
                        new Boolean(false),PRINT_NAME, new Boolean(true),Variant.VT_MISSING, ""});

                //关闭文档
               Dispatch.call(word, "Close", new Variant(false));
            } catch (Exception e) {
                e.printStackTrace();
                throw new Exception();
            } finally{
                doc.invoke("Quit",new Variant[0]);
                //始终释放资源
                ComThread.Release();
            }
        }
    public static  void main(String[] args) {
        try {
            System.out.println(0);
            saveWordAspdf("d:/1234.doc","d:/1234.pdf");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
时间: 2024-08-13 01:18:04

pdf-求大神 帮我看看问题 Java中 调用虚拟打印机 把word转存为PDF的相关文章

求大神帮我写一下java代码

问题描述 java1.产生一个随机验证码,其格式是一个数字和一个字母一个数字一个字母例如2q3r2.给定以下字符串:李四:67|张三:88|王五:76要求拆分结果如下:李四-->67张三-->88王五-->76 解决方案 解决方案二:产生随机数可以用Random的nextInt(intn).产生随机字母:你可以先定义26个字母组成的字符数组.然后用Random的nextInt(25)产生字母下标,这样就变相产生了随机字母.字符串拆分参考String的split(Stringregex)方

求大神解答!怎么在java中连接数据库,随机生成一列数据库的属性值

问题描述 就是建立了一个用户登录系统,然后想在数据库中,用注册一个用户都有录入,并且自动为该用户生成一个ID,怎么在java程序中实现这一点啊?在java程序中编写插入数据的时候要怎么做啊??急急急 解决方案 解决方案二:数据库自身就有递增序列ID.java实现的话也是自己写,可以用AtomicLong实现.一般推荐数据库

遍历-Java字符串问题,求大神帮帮忙

问题描述 Java字符串问题,求大神帮帮忙 请用Java写这个程序,思考题: I am a student ! 定义一个方法: !student a am I 我有思路,但是我实现代码有困难,我的思路是:先将原字符串转换为字符数组,然后从头遍历,判断某个字符是否为空,一旦为空,将前面的存放到list集合中.然后继续从下一个开始遍历,然后判断是否为空,不为空继续向下遍历,然后继续遍历到为空的那个字符,然后继续将不为空的作为一个整体存入list集合中,往复循环进行,直至全部不为空的字符个数全部进入l

socket-JAVA代理服务器,用浏览器打开的时候显示的网页信息总是不全,有时候显示不出来,求大神帮我看看

问题描述 JAVA代理服务器,用浏览器打开的时候显示的网页信息总是不全,有时候显示不出来,求大神帮我看看 package work; import java.io.*; import java.net.*; public class MMProxy extends Thread { static public int CONNECT_RETRIES = 5; //尝试与目标主机连接次数 static public int CONNECT_PAUSE = 5; //每次建立连接的间隔时间 stat

求大神帮我解决ueditor单图上传按钮显示的问题asp.net

问题描述 求大神帮我解决ueditor单图上传按钮显示的问题asp.net 因为公司项目需要,昨天下载了一个.net版的ueditor富文本编辑器,现在也只是能在页面上显示出来了,还有很多的配置问题没解决,现在的问题是单图上传按钮是灰色的,怎么让它显示?还是多图上传的本地文件上传的配置问题,希望能来个大牛帮我解决一下,最好有个截图解释一下,才刚工作一个月,谢谢了

VS2012无法附加进程,求大神帮解决

问题描述 VS2012无法附加进程,求大神帮解决 解决方案 直接在vs里调试你的asp.net程序

新生 求大神帮帮忙!

问题描述 新生 求大神帮帮忙! 解决方案 求大神帮帮忙 解决方案二: 先看看你的数据库启动了没 解决方案三: 试试: 打开'程序'-'所有程序'-'Microsoft SQL Server 2012 '-'配置工具'-'SQL Server 配置管理器',在弹出的窗体中,找到'SQL Server 2012 网络配置',把'MSSQLSERVER的协议'下的"Named Pipes"和"TCP/IP"启动,然后重新启动Microsoft SQL Server 201

字符串处理-求大神帮解决如下程序,最基本的C语言字符串类型,不用编太难(如下为问题要求,测试用例,输出用例)

问题描述 求大神帮解决如下程序,最基本的C语言字符串类型,不用编太难(如下为问题要求,测试用例,输出用例) Background Given an m by n grid of letters and a list of words, find the location in the grid at which the word can be found. A word matches a straight, uninterrupted line of letters in the grid.

求解释-求大神帮看看这段汇编代码

问题描述 求大神帮看看这段汇编代码 学校课程设计,这段是步进电机的控制代码,用键盘输入,在六位LED七段数码显示管上显示,求大神把下面代码加上注释,实在不行就帮忙看下键盘显示那部分是怎么回事,有重谢. ORG 0A30H ;? MONIT: MOV SP,#50H MOV 7EH,#00H MOV 7DH,#02H MOV R0,#7CH MOV A,#08H MOV R4,#04H MONIT1: MOV @R0,A DEC R0 DJNZ R4,MONIT1 MOV A,#7EH MOV D