title: OpenOffice,Java,Saving a document as pdf
body: <p>I have created a document using openoffice API in java. Now I want to save that document as pdf on my machine.
  How to do that?</p>
  
  <p>Code for creation of document is</p>
  
  <pre><code>// Create a document
         XComponent xdocument = xCLoader.loadComponentFromURL("private:factory/swriter", "_blank", 0, new PropertyValue[0]);
  
         // Get the textdocument
         XTextDocument aTextDocument = ( XTextDocument )UnoRuntime.queryInterface(com.sun.star.text.XTextDocument.class, xdocument);
  
         // Get its text
         XText xText = aTextDocument.getText();
         XTextRange xTextRange = xText.createTextCursor();
         ((XTextCursor)xTextRange).gotoEnd(true);
  </code></pre>
  
  <p>Now I want to save that document. But i am not able to do so. Can you help me with that?</p>
  
  <p>Code which I am using for saving is</p>
  
  <pre><code> //close the document
         XCloseable xcloseable = (XCloseable) UnoRuntime.queryInterface(XCloseable.class, xdocument);
         xcloseable.close(false);
  
         // the url where the document is to be saved
      String storeUrl = "D:\\OOo_doc.pdf";
  
      // Save the document
      XStorable xStorable = ( XStorable )UnoRuntime.queryInterface(XStorable.class, xdocument);
       PropertyValue[] storeProps = new PropertyValue[0];
      storeProps = new PropertyValue[1];
  storeProps[0] = new PropertyValue();
  storeProps[0].Name = "FilterName";
  storeProps[0].Value = "writer_pdf_Export";
  
  xStorable.storeToURL(storeUrl, storeProps);
  </code></pre>
  
  <p>This is the exception i am getting</p>
  
  <pre><code>Exception in thread "main" com.sun.star.task.ErrorCodeIOException: 
      at com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182)
      at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148)
      at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344)
      at com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313)
      at com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101)
      at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652)
      at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154)
      at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136)
      at com.sun.proxy.$Proxy10.storeToURL(Unknown Source)
      at test.oo.main(oo.java:83)
  </code></pre>
  
  <p>But I am not to get it saved at the desired location. Please help</p>