pdf-C#下通过OpenOffice转换PDF出错

问题描述

C#下通过OpenOffice转换PDF出错

参照niuhea的《通过OpenOffice转换PDF》,用C#编写如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using com.artofsolving.jodconverter;
using com.artofsolving.jodconverter.openoffice.connection;
using com.artofsolving.jodconverter.openoffice.converter;
using java.io;
using System.Text;
namespace wordtopdf
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            File xlsf = new File("C://test.pdf");
            File targetF = new File("C://test.pdf");
        // 获得文件格式
        DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();
        DocumentFormat pdfFormat = formatReg.getFormatByFileExtension("pdf");
        DocumentFormat docFormat = formatReg.getFormatByFileExtension("doc");
        // stream 流的形式
        InputStream inputStream = new FileInputStream(xlsf);
        OutputStream outputStream = new FileOutputStream(targetF);
       OpenOfficeConnection connection = new SocketOpenOfficeConnection("172.24.157.236",8100);

       connection.connect();
       DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
      converter.convert(inputStream, docFormat, outputStream, pdfFormat);
     connection.disconnect();

        }
    }
}

编译运行后提示converter.convert(inputStream, docFormat, outputStream, pdfFormat);这句出错。
错误提示:
异常详细信息: com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.

如果不采用流进行转换,直接转换文件converter.convert(xlsf,targetF)则一切正常。

请教问题出在哪?怎么解决?

出错时堆栈跟踪:
[IllegalArgumentException: URL seems to be an unsupported one.]
$Proxy5.loadComponentFromURL(String , String , Int32 , PropertyValue[] ) +328
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadDocument(String , Map ) +45
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadAndExport(String , Map , String , Map ) +34

[OpenOfficeException: conversion failed: could not load input document]
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.loadAndExport(String , Map , String , Map ) +401
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(File inputFile, DocumentFormat inputFormat, File outputFile, DocumentFormat outputFormat) +210
com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(File inputFile, DocumentFormat inputFormat, File outputFile, DocumentFormat outputFormat) +149
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter.convertInternal(InputStream inputStream, DocumentFormat inputFormat, OutputStream outputStream, DocumentFormat outputFormat) +414
com.artofsolving.jodconverter.openoffice.converter.AbstractOpenOfficeDocumentConverter.convert(InputStream inputStream, DocumentFormat inputFormat, OutputStream outputStream, DocumentFormat outputFormat) +95
wordtopdf._Default.Page_Load(Object sender, EventArgs e) in C:UsersAdministratorDocumentsVisual Studio 2010ProjectswordtopdfwordtopdfDefault.aspx.cs:34
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772

时间: 2024-10-04 22:37:50

pdf-C#下通过OpenOffice转换PDF出错的相关文章

c#下通过OpenOffice转换PDF出错

问题描述 参照niuhea的[<通过OpenOffice转换PDF>](http://blog.csdn.net/niuhea/article/details/7749684""),用C#编写如下代码:```usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingcom

pdf-求Linux下office文件转换PDF的最适合方法,急!最好有代码!万分感谢!

问题描述 求Linux下office文件转换PDF的最适合方法,急!最好有代码!万分感谢! 客户提了个无比奇葩的要求,需要既生成word又生成PDF,还要内容一致,奇葩的项目经理还硬是同意了这个需求,然后开发的俺,作为一个新手,遭殃了! 换了很多种方法,在Windows下都成功了,但是很多都不适合用于Linux下. 好不容易觉得openoffice可以了,但是又遇到了各种奇葩的问题,导致openoffice根本启动不了,查找了网上相关的命令启动,报错需要一个桌面什么的.... 这个问题难道这么多

ASP.Net程序实现将Word转换PDF格式

asp.net|pdf|word|程序|转换 前言:由于一个客户的项目中需要将WORD文档转换成PDF格式,故写了本篇实站教程 需求分析:客户的项目以B/S结构为主,提供一个WORD文件在后台自动转换成PDF,经过实际测试,如果该篇WORD文档有100多页的话,转换需要20分钟左右的时间(环境:CPU是奔腾M 1.6G,512M内存),整个CPU的占用率近乎95%~100%,此结果告诉客户以后,客户提议:到客户下班后,自动转换PDF,同时如果使用人确认要查看该PDF文档,如果没有转换,提供给客户

ASP.Net实现将Word转换PDF格式

asp.net|word|转换     前言:由于一个客户的项目中需要将WORD文档转换成PDF格式,故写了本篇实站教程 需求分析:客户的项目以B/S结构为主,提供一个WORD文件在后台自动转换成PDF,经过实际测试,如果该篇WORD文档有100多页的话,转换需要20分钟左右的时间(环境:CPU是奔腾M 1.6G,512M内存),整个CPU的占用率近乎95%~100%,此结果告诉客户以后,客户提议:到客户下班后,自动转换PDF,同时如果使用人确认要查看该PDF文档,如果没有转换,提供给客户选择,

pdf-使用swftools转换PDF时为什么在cmd命令下转换正常,但在swftools工具里转换却异常?

问题描述 使用swftools转换PDF时为什么在cmd命令下转换正常,但在swftools工具里转换却异常? 在java编码里转换和swftools里转换一个样,转换后,打开,只能看到左上角有一个文件的小点,但在cmd命令下转换却完全正常!大侠们谁知什么原因? String command = ""D:SWFToolspdf2swf.exe d:/abc.pdf -o d:/abc.swf -T 9""; Process pro = Runtime.getRunt

swf文件-office文件转换pdf ,office转换swf

问题描述 office文件转换pdf ,office转换swf 我想做一个文档在线浏览的功能,一开始是用flashpager 程序没报错,但是没有swf文件生成, 然后我用pdf2swf就可以,然后我就想让office文件先转化为pdf文件,也没报错,可是在路径下 没有pdf文件,请问有谁知道这是怎么回事,程序都过去了,路径也没问题,权限Everyone 也都给了,为什么在相应的路径下没有文件呢 解决方案 确定路径都没问题是吗?生成pdf的路径确定没问题的话,先用小一点的office文件测试,程

Linux如何助Windows用户免费转换PDF文件

笔者是一个Linux系统管理员,最近我多了一项额外的工作--帮一些Windows用户将PostScript文件转换为PDF格式.这是因为在Linux下有一个免费的Ghostscript工具,可以方便地实现这种转换:但Windows下没有免费的转换工具. 我想出一种方法,使得Windows用户不必学习Linux命令,只需简单地将文件"打印",就可以完成转换,下面就来介绍一下. 基本原理 此方法的基本原理就是利用Ghostscript将PostScript文件转换成PDF格式,然后,通过S

常见的Word转换PDF方法总结

  在办公软件中,Word和PDF格式文件是最为常见,常常需要相互转换格式.那么Word文档转换成PDF格式的方法有哪些?仔细数来可以有以下几种方法,希望能够帮到大家. 1.Microsoft Office 2010 .WPS Office 2010 环境 Word 2010.WPS Office 可以直接另存 Word 文档为 PDF,完美支持中文,具有极佳的质量和兼容性. Office Word 2010 中使用「另存为」功能保存 Word 为 PDF 文件(在 Word 中按下快捷键 F1

怎么把Word转换pdf格式

  1.安装完pdfFactory Pro软件之后,在开始菜单中打开打印机对话框. 2.点击左上角的打印机,进入打印首选项 3.在打印首选项的预览下,单击齿轮样式按钮,选择图章. 文档转换pdf格式"> 3.在图章选项中可以就已有的方案进行更改,做成自己想要的名称.图章工具不仅支持自定义文字,还能添加时间等变量,可谓十分强大. 4.改好水印后,记得在预览菜单下,把图章设置选项选中,右侧会有水印预览,设置完成后点击确定即可开始转换.