JODConverter を使用して OpenOffice 4 に接続し、rtf ドキュメントを pdf に変換しています。
1つの奇妙な問題を除いて、すべて正常に機能します。最初に変換を試みると、接続拒否例外が発生します。2回目から動き始めます。
コンピューターの起動後、最初の変換ごとに例外が発生します。
これは私のテストクラスです
import java.io.File;
import java.io.IOException;
import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
public class ConverterServiceTest
{
public static void main(String[] args) throws IOException
{
File inputFile = new File("C:/Prova/Esempi/TestSign.rtf");
File outputFile = new File("C:/Prova/Esempi/TestSign.pdf");
int openOfficePort = 8100;
System.out.println("Provo a lanciare il processo di OpenOffice");
String command = "\"C:/Program Files (x86)/OpenOffice 4/program/soffice.exe\"" +
"-headless -accept=\"socket,host=localhost,port="
+ openOfficePort + ";urp;\" -nofirststartwizard";
System.out.println("Comando = " + command);
Process p = Runtime.getRuntime().exec(command);
System.out.println("OpenOffice lanciato, provo la connessione alla porta "
+ openOfficePort);
OpenOfficeConnection connection =
new SocketOpenOfficeConnection(openOfficePort);
connection.connect();
System.out.println("Connessione aperta! Provo la conversione");
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
System.out.println("Conversione effettuata");
connection.disconnect();
p.destroy();
System.out.println("Connessione chiusa e processo killato");
}
}
これは例外です:
Exception in thread "main" java.net.ConnectException: connection failed: socket,host=localhost,port=8100,tcpNoDelay=1: java.net.ConnectException: Connection refused: connect
at com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection.connect(AbstractOpenOfficeConnection.java:79)
at test.converter.ConverterServiceTest.main(ConverterServiceTest.java:29)
なぜこれが起こるのか誰にも分かりますか?そして、どうすればその奇妙な問題を解決できますか?
アドバイスをありがとう、完璧ではない英語でごめんなさい。