本帖最后由 is_zhoufeng 于 2012-11-29 16:42:13 编辑

解决方案 »

  1.   

    试试看用这个:wkhtmltopdf
    http://code.google.com/p/wkhtmltopdf/不是Java写的,但支持直接使用命令行进行调用,所以可以直接用Runtime来执行。可直接面向一个指定的 URL 进行转换,图片样式啥的还原度很高。
      

  2.   

    装个pdf虚拟打印机,用浏览器打开这个网页,然后选择那个打印机打出来就是一个pdf文件
      

  3.   

    lz,支持一下,貌似挺难的,不知道这个可以不:
    http://ishare.iask.sina.com.cn/f/34165371.html
      

  4.   


    Thank you ,
    问题解决。 顺便问一下。 
    Runtime.getRuntime().exec(command); 如何确定命令什么时候执行完成。 Runtime.getRuntime().exec(command);
    TimeUnit.SECONDS.sleep(3);   //我现在的作法是等待3s 再返回 。 感觉不科学。
    return new FileInputStream(pdfFile);有什么好办法 确定Runtime.getRuntime().exec(command);执行完毕。再返回
      

  5.   


    先从Runtime中得到Process,然后可以调用函数:waitFor(),这个是阻塞的。但其实我个人不建议这么做,我更建议定期检查 exitValue() 同时注意获取 getErrorStream()中的内容,因为有可能执行出错产生错误信息啥的,如果不读取走会阻塞被调程序。所以尽量不要采用阻塞动作,避免程序陷入非正常流程下的阻塞。