Re: [Rendering] Trying to render text page to a bitmap

2012-05-31 Thread Fernand Vanrie

 Ariel ,

Very instructive, copied to my learning stuff, thansk

i pointed Eric to a other technic, opening the doc in preview mode in 
a frame based on a new created window in a filepicker dialog.


Principle parts of the code

Sub PreviewWindowLoadOOFile(sUrl as String)
  oPreviewWindow = InstallNewPreviewWindow(oFPickerDialog.Window, 0)
  oFrame = createUnoService(com.sun.star.frame.Frame)
  oFrame.initialize(oPreviewWindow)
  Dim aProps(0) As New com.sun.star.beans.PropertyValue
  aProps(0).Name  = Preview
  aProps(0).Value = true
  oPreviewDoc = oFrame.loadComponentFromURL(sUrl, , 0, aProps())

end sub



function InstallNewPreviewWindow(oWin as Object, lWinAttrs as Long) as 
Object

' Create a window descriptor and set up its properties
  Dim aDescriptor As New com.sun.star.awt.WindowDescriptor
  aDescriptor.Type = com.sun.star.awt.WindowClass.SIMPLE
  aDescriptor.Parent = oWin
  aDescriptor.Bounds = oWin.Windows(lLastWindowAtStart).PosSize
  aDescriptor.WindowAttributes = com.sun.star.awt.WindowAttribute.SHOW 
or lWinAttrs

  oToolkit = createUnoService(com.sun.star.awt.Toolkit)
  InstallNewPreviewWindow = oToolkit.createWindow(aDescriptor)
end function

Greetz
Fernand

REM  *  BASIC  *

Option Explicit

Sub Main
 GlobalScope.BasicLibraries.loadLibrary(Tools)
 Dim oDoc as Object
 oDoc = ThisComponent


 If HasUnoInterfaces(oDoc, com.sun.star.view.XRenderable) Then
 Dim sBaseURL as String
 sBaseURL = DirectoryNameOutOfPath(oDoc.getURL(), /)

 Dim oSFA as Object
 oSFA = CreateUnoService(com.sun.star.ucb.SimpleFileAccess)
 Dim oGraphicProvider as Object
 oGraphicProvider = 
CreateUnoService(com.sun.star.graphic.GraphicProvider)

 Dim oController as Object
 Dim oUnitConverter as Object
 oController = oDoc.getCurrentController()
 oUnitConverter = oController.getFrame().getComponentWindow()

 Dim oSelection as Object
 ' it could be the whole document
 oSelection = oDoc

 ' or the selection
 'Dim oTextCursor as Object
 'oTextCursor = 
oDoc.getText().createTextCursorByRange(oDoc.getText().getStart())
 'oTextCursor.goToRange(oDoc.getText().getEnd(), True)
 'oController.select(oTextCursor)
 'oSelection = oController.getSelection()

 Dim oDevice as Object
 Dim aRenderOptions(5) as New com.sun.star.beans.PropertyValue
 aRenderOptions(0).Name  = RenderDevice
 aRenderOptions(0).Value = oDevice
 aRenderOptions(1).Name  = ExportNotesPages
 aRenderOptions(1).Value = False
 aRenderOptions(2).Name  = IsFirstPage
 aRenderOptions(2).Value = True
 aRenderOptions(3).Name  = IsLastPage
 aRenderOptions(3).Value = False
 aRenderOptions(4).Name  = IsSkipEmptyPages
 aRenderOptions(4).Value = True
 aRenderOptions(5).Name  = PageRange
 aRenderOptions(5).Value = 


 Dim nPageCount as Integer
 nPageCount = oDoc.getRendererCount( oSelection, aRenderOptions )
 If nPageCount  0 Then
 Dim oToolkit as Object
 oToolkit = CreateUnoService(com.sun.star.awt.Toolkit)

 Dim oRenderer as Object
 Dim oPageSize as Object
 Dim i%
 Dim sURL$

 While nPageCount  0
 nPageCount = nPageCount - 1
 oRenderer = oDoc.getRenderer(nPageCount, oSelection, 
aRenderOptions)
 For i = 0 To UBound(oRenderer)
 If oRenderer(i).Name = PageSize Then
 oPageSize = oRenderer(i).Value
 Exit For
 End If
 Next

 Dim oDeviceSize as Object
 oDeviceSize = oUnitConverter.convertSizeToPixel(oPageSize, 
com.sun.star.util.MeasureUnit.MM_100TH)
 oDevice = oToolkit.createScreenCompatibleDevice( 
oDeviceSize.Width, oDeviceSize.Height)
 aRenderOptions(0).Value = oDevice
 oDoc.render( nPageCount, oSelection, aRenderOptions)

 Dim oBitmap as Object
 oBitmap = oDevice.createBitmap( 0, 0, 
oDevice.Info.Width,oDevice.Info.Height)

 sURL = sBaseURL + / + CStr(nPageCount) + .png
 If oSFA.exists(sURL) Then oSFA.kill(sURL)
 StoreBitmapToURL(oGraphicProvider, oBitmap, sURL)
 Wend
 End If
 End If
End Sub

Sub StoreBitmapToURL(oGraphicProvider, oBitmap, sURL)
 Dim oMediaProperties(0) as New com.sun.star.beans.PropertyValue
 oMediaProperties(0).Name  = Bitmap
 oMediaProperties(0).Value = oBitmap

 Dim oGraphic as Object
 oGraphic = oGraphicProvider.queryGraphic(oMediaProperties)

 If NOT IsNull(oGraphic) Then
 Dim oMediaPropertiesOut(2) as New com.sun.star.beans.PropertyValue
 oMediaPropertiesOut(0).Name  = URL
 

Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Erik Wigforss
Hi,

Thanks for the code but it doesn't work.

Heres my code to anser every question one will ever have about ooo.

Sub TheAnswerForEveryting()

If isDepressed() Then
  doNothing()
ElseIf isHappy() Then
  doSomething()
ElseIf isHatred() Then
 crashForNoReason()
ElseIf isPolite() Then
  throwAnError()
Else
  waitForOneSecondAndTryAgain()
End If
End Sub

Erik

2012/5/3 Fernand Vanrie s...@pmgroup.be

 Erik ,
 With BASIC it can been done
 have a look at this thread http://openoffice.2283327.n4.**
 nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
 *td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
 

 hope it helps

 Fernand

 Hi, I'm trying to render a page to a bitmap and I don't get it working.
 Drawing primitives works but not render a document. Do anyone know how to
 do this? Here is my code: public static BufferedImage makeThumb(File
 inFile) throws IOException, BootstrapException, IllegalArgumentException,
 Exception, java.io.IOException { XComponentLoader xCompLoader =
 OfficeConnection.**getConnection().**getXComponentLoader();
 PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] =
 OfficeTools.makeProperty(**ReadOnly, Boolean.TRUE); loadProps[1] =
 OfficeTools.makeProperty(**Hidden, Boolean.TRUE); XComponent xDoc =
 xCompLoader.**loadComponentFromURL(**OfficeTools.makeOpenOfficeUrl(**inFile.getAbsolutePath()),
 _blank, 0, loadProps); XRenderable xRender = (XRenderable)UnoRuntime.**
 queryInterface(XRenderable.**class, xDoc); if (xRender != null) {
 System.out.println(Is Renderable); XDevice xDevice = OfficeConnection.**
 getConnection().getXToolkit().**createScreenCompatibleDevice(**1024,
 1024); PropertyValue[] renderProps = new PropertyValue[2]; renderProps[0] =
 OfficeTools.makeProperty(**RenderDevive, xDevice); renderProps[1] =
 OfficeTools.makeProperty(**PageRange, 1); xRender.render(0, xDoc,
 renderProps); XBitmap xBitmap = xDevice.createBitmap(0, 0, 1024, 1024); if
 (xBitmap != null) return ImageIO.read(new 
 ByteArrayInputStream(xBitmap.**getDIB()));
 else System.out.println(No bitmap created!); } else {
 System.out.println(Not Renderable); } return null; } Thanks in advance,
 Erik Wigforss




Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Fernand Vanrie

On 30/05/2012 11:20, Erik Wigforss wrote:

Hi,

Thanks for the code but it doesn't work.

for you i suppose  :-)


Heres my code to anser every question one will ever have about ooo.

Sub TheAnswerForEveryting()

If isDepressed() Then
   doNothing()
ElseIf isHappy() Then
   doSomething()
ElseIf isHatred() Then
  crashForNoReason()
ElseIf isPolite() Then
   throwAnError()
Else
   waitForOneSecondAndTryAgain()
End If
End Sub

Erik

2012/5/3 Fernand Vanries...@pmgroup.be


Erik ,
With BASIC it can been done
have a look at this threadhttp://openoffice.2283327.n4.**
nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
*td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
hope it helps

Fernand

Hi, I'm trying to render a page to a bitmap and I don't get it working.
Drawing primitives works but not render a document. Do anyone know how to
do this? Here is my code: public static BufferedImage makeThumb(File
inFile) throws IOException, BootstrapException, IllegalArgumentException,
Exception, java.io.IOException { XComponentLoader xCompLoader =
OfficeConnection.**getConnection().**getXComponentLoader();
PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] =
OfficeTools.makeProperty(**ReadOnly, Boolean.TRUE); loadProps[1] =
OfficeTools.makeProperty(**Hidden, Boolean.TRUE); XComponent xDoc =
xCompLoader.**loadComponentFromURL(**OfficeTools.makeOpenOfficeUrl(**inFile.getAbsolutePath()),
_blank, 0, loadProps); XRenderable xRender = (XRenderable)UnoRuntime.**
queryInterface(XRenderable.**class, xDoc); if (xRender != null) {
System.out.println(Is Renderable); XDevice xDevice = OfficeConnection.**
getConnection().getXToolkit().**createScreenCompatibleDevice(**1024,
1024); PropertyValue[] renderProps = new PropertyValue[2]; renderProps[0] =
OfficeTools.makeProperty(**RenderDevive, xDevice); renderProps[1] =
OfficeTools.makeProperty(**PageRange, 1); xRender.render(0, xDoc,
renderProps); XBitmap xBitmap = xDevice.createBitmap(0, 0, 1024, 1024); if
(xBitmap != null) return ImageIO.read(new 
ByteArrayInputStream(xBitmap.**getDIB()));
else System.out.println(No bitmap created!); } else {
System.out.println(Not Renderable); } return null; } Thanks in advance,
Erik Wigforss






Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Erik Wigforss
No the code is not working for me and I seek help.
I want to have help with thumbnails and previews thats quick and stable,
And the preview that exists is just too slow and unstable.

Did you know that MS Wordpad is creating the thumbnails for OOo but Ms
Office have no thumbnails? And the opposite for preview.

---
http://openoffice.2283327.n4.**
nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
*td3067760.html
http://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html

--

2012/5/30 Fernand Vanrie s...@pmgroup.be

 On 30/05/2012 11:20, Erik Wigforss wrote:

 Hi,

 Thanks for the code but it doesn't work.

 for you i suppose  :-)


 Heres my code to anser every question one will ever have about ooo.

 Sub TheAnswerForEveryting()

 If isDepressed() Then
   doNothing()
 ElseIf isHappy() Then
   doSomething()
 ElseIf isHatred() Then
  crashForNoReason()
 ElseIf isPolite() Then
   throwAnError()
 Else
   waitForOneSecondAndTryAgain()
 End If
 End Sub

 Erik

 2012/5/3 Fernand Vanries...@pmgroup.be

  Erik ,
 With BASIC it can been done
 have a look at this 
 threadhttp://openoffice.**2283327.n4.http://openoffice.2283327.n4.
 **
 nabble.com/api-dev-Open-a-file-with-standard-
 application-from-dialog-*http://nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
 *td3067760.htmlhttp://**openoffice.2283327.n4.nabble.**
 com/api-dev-Open-a-file-with-**standard-application-from-**
 dialog-td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
 
 hope it helps

 Fernand

 Hi, I'm trying to render a page to a bitmap and I don't get it working.
 Drawing primitives works but not render a document. Do anyone know how to
 do this? Here is my code: public static BufferedImage makeThumb(File
 inFile) throws IOException, BootstrapException, IllegalArgumentException,
 Exception, java.io.IOException { XComponentLoader xCompLoader =
 OfficeConnection.getConnection().getXComponentLoader();
 PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] =
 OfficeTools.makeProperty(ReadOnly, Boolean.TRUE); loadProps[1] =
 OfficeTools.makeProperty(Hidden, Boolean.TRUE); XComponent xDoc =
 xCompLoader.loadComponentFromURL(OfficeTools.makeOpenOfficeUrl(*
 ***inFile.getAbsolutePath()),
 _blank, 0, loadProps); XRenderable xRender = (XRenderable)UnoRuntime.**
 queryInterface(XRenderable.class, xDoc); if (xRender != null) {
 System.out.println(Is Renderable); XDevice xDevice =
 OfficeConnection.**
 getConnection().getXToolkit().**createScreenCompatibleDevice(***
 *1024,
 1024); PropertyValue[] renderProps = new PropertyValue[2];
 renderProps[0] =
 OfficeTools.makeProperty(RenderDevive, xDevice); renderProps[1] =
 OfficeTools.makeProperty(PageRange, 1); xRender.render(0, xDoc,
 renderProps); XBitmap xBitmap = xDevice.createBitmap(0, 0, 1024, 1024);
 if
 (xBitmap != null) return ImageIO.read(new ByteArrayInputStream(xBitmap.*
 ***getDIB()));
 else System.out.println(No bitmap created!); } else {
 System.out.println(Not Renderable); } return null; } Thanks in advance,
 Erik Wigforss






Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Fernand Vanrie

Erik,

wath part of the code is not working ?

No the code is not working for me and I seek help.
I want to have help with thumbnails and previews thats quick and stable,
And the preview that exists is just too slow and unstable.

Did you know that MS Wordpad is creating the thumbnails for OOo but Ms
Office have no thumbnails? And the opposite for preview.

---
http://openoffice.2283327.n4.**
nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
*td3067760.html
http://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
--

2012/5/30 Fernand Vanries...@pmgroup.be


On 30/05/2012 11:20, Erik Wigforss wrote:


Hi,

Thanks for the code but it doesn't work.


for you i suppose  :-)


Heres my code to anser every question one will ever have about ooo.

Sub TheAnswerForEveryting()

If isDepressed() Then
   doNothing()
ElseIf isHappy() Then
   doSomething()
ElseIf isHatred() Then
  crashForNoReason()
ElseIf isPolite() Then
   throwAnError()
Else
   waitForOneSecondAndTryAgain()
End If
End Sub

Erik

2012/5/3 Fernand Vanries...@pmgroup.be

  Erik ,

With BASIC it can been done
have a look at this 
threadhttp://openoffice.**2283327.n4.http://openoffice.2283327.n4.
**
nabble.com/api-dev-Open-a-file-with-standard-
application-from-dialog-*http://nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
*td3067760.htmlhttp://**openoffice.2283327.n4.nabble.**
com/api-dev-Open-a-file-with-**standard-application-from-**
dialog-td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
hope it helps

Fernand

Hi, I'm trying to render a page to a bitmap and I don't get it working.
Drawing primitives works but not render a document. Do anyone know how to
do this? Here is my code: public static BufferedImage makeThumb(File
inFile) throws IOException, BootstrapException, IllegalArgumentException,
Exception, java.io.IOException { XComponentLoader xCompLoader =
OfficeConnection.getConnection().getXComponentLoader();
PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] =
OfficeTools.makeProperty(ReadOnly, Boolean.TRUE); loadProps[1] =
OfficeTools.makeProperty(Hidden, Boolean.TRUE); XComponent xDoc =
xCompLoader.loadComponentFromURL(OfficeTools.makeOpenOfficeUrl(*
***inFile.getAbsolutePath()),
_blank, 0, loadProps); XRenderable xRender = (XRenderable)UnoRuntime.**
queryInterface(XRenderable.class, xDoc); if (xRender != null) {
System.out.println(Is Renderable); XDevice xDevice =
OfficeConnection.**
getConnection().getXToolkit().**createScreenCompatibleDevice(***
*1024,
1024); PropertyValue[] renderProps = new PropertyValue[2];
renderProps[0] =
OfficeTools.makeProperty(RenderDevive, xDevice); renderProps[1] =
OfficeTools.makeProperty(PageRange, 1); xRender.render(0, xDoc,
renderProps); XBitmap xBitmap = xDevice.createBitmap(0, 0, 1024, 1024);
if
(xBitmap != null) return ImageIO.read(new ByteArrayInputStream(xBitmap.*
***getDIB()));
else System.out.println(No bitmap created!); } else {
System.out.println(Not Renderable); } return null; } Thanks in advance,
Erik Wigforss







Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Erik Wigforss
I get all kinds of errors. Errors I shouldn't even get. I have tried in AOO
and LO. Got it working in LO but very unstable crashing for no reason at
all every time. In AOO it don't work at all even if it works in LO
unstably. It's so wierd and totally random.

Now this line in Function getGraphFromUrl(sFileURL as String) As Object
don't work:
---
   Dim oProvider As Object
   oProvider = createUnoService(com.sun.star.graphic.GraphicProvider)
   Dim oPropsIN(0 to 0) As Object
   oPropsIN(0) = new com.sun.star.beans.PropertyValue
   oPropsIN(0).Name  = URL
   oPropsIN(0).Value = sFileURL
   getGraphFromUrl = oProvider.queryGraphic(oPropsIN())
' Don't working

---
I have changed some line like the props setup lines beacuse they didn't
work at all before.

2012/5/30 Fernand Vanrie s...@pmgroup.be

 Erik,

 wath part of the code is not working ?

 No the code is not working for me and I seek help.
 I want to have help with thumbnails and previews thats quick and stable,
 And the preview that exists is just too slow and unstable.

 Did you know that MS Wordpad is creating the thumbnails for OOo but Ms
 Office have no thumbnails? And the opposite for preview.

 ---
 http://openoffice.2283327.n4.
 nabble.com/api-dev-Open-a-file-with-standard-
 application-from-dialog-*http://nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
 *td3067760.html
 http://openoffice.2283327.n4.**nabble.com/api-dev-Open-a-**
 file-with-standard-**application-from-dialog-**td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
 --

 2012/5/30 Fernand Vanries...@pmgroup.be

  On 30/05/2012 11:20, Erik Wigforss wrote:

  Hi,

 Thanks for the code but it doesn't work.

  for you i suppose  :-)

  Heres my code to anser every question one will ever have about ooo.

 Sub TheAnswerForEveryting()

 If isDepressed() Then
   doNothing()
 ElseIf isHappy() Then
   doSomething()
 ElseIf isHatred() Then
  crashForNoReason()
 ElseIf isPolite() Then
   throwAnError()
 Else
   waitForOneSecondAndTryAgain()
 End If
 End Sub

 Erik

 2012/5/3 Fernand Vanries...@pmgroup.be

  Erik ,

 With BASIC it can been done
 have a look at this threadhttp://openoffice.2283327.n4.
 http://openoffice.**2283327.n4 http://openoffice.2283327.n4.
 **
 nabble.com/api-dev-Open-a-**file-with-standard-http://nabble.com/api-dev-Open-a-file-with-standard-
 application-from-dialog-*http**://nabble.com/api-dev-Open-a-***
 *file-with-standard-application-from-dialog-*http://nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
 
 *td3067760.htmlhttp://openoffice.2283327.n4.nabble.
 com/api-dev-Open-a-file-with-standard-application-from-**
 dialog-td3067760.htmlhttp://**openoffice.2283327.n4.nabble.**
 com/api-dev-Open-a-file-with-**standard-application-from-**
 dialog-td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
 
 hope it helps

 Fernand

 Hi, I'm trying to render a page to a bitmap and I don't get it working.
 Drawing primitives works but not render a document. Do anyone know how
 to
 do this? Here is my code: public static BufferedImage makeThumb(File
 inFile) throws IOException, BootstrapException,
 IllegalArgumentException,
 Exception, java.io.IOException { XComponentLoader xCompLoader =
 OfficeConnection.**getConnection().**getXComponentLoader();
 PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] =
 OfficeTools.makeProperty(**ReadOnly, Boolean.TRUE);
 loadProps[1] =
 OfficeTools.makeProperty(**Hidden, Boolean.TRUE); XComponent
 xDoc =
 xCompLoader.**loadComponentFromURL(**
 OfficeTools.makeOpenOfficeUrl(***
 ***inFile.getAbsolutePath()),
 _blank, 0, loadProps); XRenderable xRender =
 (XRenderable)UnoRuntime.**
 queryInterface(XRenderable.**class, xDoc); if (xRender != null) {
 System.out.println(Is Renderable); XDevice xDevice =
 OfficeConnection.**
 getConnection().getXToolkit().**createScreenCompatibleDevice(*
 
 *1024,
 1024); PropertyValue[] renderProps = new PropertyValue[2];
 renderProps[0] =
 OfficeTools.makeProperty(**RenderDevive, xDevice);
 renderProps[1] =
 OfficeTools.makeProperty(**PageRange, 1); xRender.render(0,
 xDoc,
 renderProps); XBitmap xBitmap = xDevice.createBitmap(0, 0, 1024, 1024);
 if
 (xBitmap != null) return ImageIO.read(new
 ByteArrayInputStream(xBitmap.*
 ***getDIB()));
 else System.out.println(No bitmap created!); } else {
 System.out.println(Not Renderable); } return null; } Thanks in
 advance,
 Erik Wigforss







Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Fernand Vanrie

On 30/05/2012 15:58, Erik Wigforss wrote:

I get all kinds of errors. Errors I shouldn't even get. I have tried in AOO
and LO. Got it working in LO but very unstable crashing for no reason at
all every time. In AOO it don't work at all even if it works in LO
unstably. It's so wierd and totally random.

Now this line in Function getGraphFromUrl(sFileURL as String) As Object
don't work:
---
Dim oProvider As Object
oProvider = createUnoService(com.sun.star.graphic.GraphicProvider)
Dim oPropsIN(0 to 0) As Object
oPropsIN(0) = new com.sun.star.beans.PropertyValue
oPropsIN(0).Name  = URL
oPropsIN(0).Value = sFileURL
getGraphFromUrl = oProvider.queryGraphic(oPropsIN())
' Don't working

you need the function :-)

function getGraphFromUrl(sFileURL as String) as Object
   oProvider = createUnoService(com.sun.star.graphic.GraphicProvider)
   Dim oPropsIN(0)as new com.sun.star.beans.PropertyValue
   oPropsIN(0).Name  = URL
   oPropsIN(0).Value = sFileURL
   getGraphFromUrl = oProvider.queryGraphic(oPropsIN())
end function






---
I have changed some line like the props setup lines beacuse they didn't
work at all before.

2012/5/30 Fernand Vanries...@pmgroup.be


Erik,

wath part of the code is not working ?


No the code is not working for me and I seek help.
I want to have help with thumbnails and previews thats quick and stable,
And the preview that exists is just too slow and unstable.

Did you know that MS Wordpad is creating the thumbnails for OOo but Ms
Office have no thumbnails? And the opposite for preview.

---
http://openoffice.2283327.n4.
nabble.com/api-dev-Open-a-file-with-standard-
application-from-dialog-*http://nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
*td3067760.html
http://openoffice.2283327.n4.**nabble.com/api-dev-Open-a-**
file-with-standard-**application-from-dialog-**td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
--

2012/5/30 Fernand Vanries...@pmgroup.be

  On 30/05/2012 11:20, Erik Wigforss wrote:

  Hi,

Thanks for the code but it doesn't work.

  for you i suppose  :-)

  Heres my code to anser every question one will ever have about ooo.

Sub TheAnswerForEveryting()

If isDepressed() Then
   doNothing()
ElseIf isHappy() Then
   doSomething()
ElseIf isHatred() Then
  crashForNoReason()
ElseIf isPolite() Then
   throwAnError()
Else
   waitForOneSecondAndTryAgain()
End If
End Sub

Erik

2012/5/3 Fernand Vanries...@pmgroup.be

  Erik ,


With BASIC it can been done
have a look at this threadhttp://openoffice.2283327.n4.
http://openoffice.**2283327.n4http://openoffice.2283327.n4.
**
nabble.com/api-dev-Open-a-**file-with-standard-http://nabble.com/api-dev-Open-a-file-with-standard-
application-from-dialog-*http**://nabble.com/api-dev-Open-a-***
*file-with-standard-application-from-dialog-*http://nabble.com/api-dev-Open-a-**file-with-standard-**application-from-dialog-*
*td3067760.htmlhttp://openoffice.2283327.n4.nabble.
com/api-dev-Open-a-file-with-standard-application-from-**
dialog-td3067760.htmlhttp://**openoffice.2283327.n4.nabble.**
com/api-dev-Open-a-file-with-**standard-application-from-**
dialog-td3067760.htmlhttp://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html
hope it helps

Fernand

Hi, I'm trying to render a page to a bitmap and I don't get it working.
Drawing primitives works but not render a document. Do anyone know how
to
do this? Here is my code: public static BufferedImage makeThumb(File
inFile) throws IOException, BootstrapException,
IllegalArgumentException,
Exception, java.io.IOException { XComponentLoader xCompLoader =
OfficeConnection.**getConnection().**getXComponentLoader();
PropertyValue[] loadProps = new PropertyValue[2]; loadProps[0] =
OfficeTools.makeProperty(**ReadOnly, Boolean.TRUE);
loadProps[1] =
OfficeTools.makeProperty(**Hidden, Boolean.TRUE); XComponent
xDoc =
xCompLoader.**loadComponentFromURL(**
OfficeTools.makeOpenOfficeUrl(***
***inFile.getAbsolutePath()),
_blank, 0, loadProps); XRenderable xRender =
(XRenderable)UnoRuntime.**
queryInterface(XRenderable.**class, xDoc); if (xRender != null) {
System.out.println(Is Renderable); XDevice xDevice =
OfficeConnection.**
getConnection().getXToolkit().**createScreenCompatibleDevice(*

*1024,
1024); PropertyValue[] renderProps = new PropertyValue[2];
renderProps[0] =
OfficeTools.makeProperty(**RenderDevive, xDevice);
renderProps[1] =
OfficeTools.makeProperty(**PageRange, 1); xRender.render(0,
xDoc,
renderProps); XBitmap xBitmap = xDevice.createBitmap(0, 0, 1024, 1024);
if
(xBitmap != null) return ImageIO.read(new
ByteArrayInputStream(xBitmap.*
***getDIB()));
else System.out.println(No bitmap created!); } else {
System.out.println(Not Renderable); } return null; } Thanks in
advance,
Erik Wigforss







Re: [Rendering] Trying to render text page to a bitmap

2012-05-30 Thread Ariel Constenla-Haile

Hi Erik,

On Wed, May 30, 2012 at 11:20:23AM +0200, Erik Wigforss wrote:
 Hi,
 
 Thanks for the code but it doesn't work.
 
 Heres my code to anser every question one will ever have about ooo.
 
 Sub TheAnswerForEveryting()
 
 If isDepressed() Then
   doNothing()
 ElseIf isHappy() Then
   doSomething()
 ElseIf isHatred() Then
  crashForNoReason()
 ElseIf isPolite() Then
   throwAnError()
 Else
   waitForOneSecondAndTryAgain()
 End If
 End Sub

That made me laugh :)

You can find a way how to use XRenderable here:
http://people.apache.org/~arielch/api/XRenderable/
The Basic code in the Writer document produces the two PNG images.


REM  *  BASIC  *

Option Explicit

Sub Main
GlobalScope.BasicLibraries.loadLibrary(Tools)
Dim oDoc as Object
oDoc = ThisComponent


If HasUnoInterfaces(oDoc, com.sun.star.view.XRenderable) Then
Dim sBaseURL as String
sBaseURL = DirectoryNameOutOfPath(oDoc.getURL(), /)

Dim oSFA as Object
oSFA = CreateUnoService(com.sun.star.ucb.SimpleFileAccess)
Dim oGraphicProvider as Object
oGraphicProvider = 
CreateUnoService(com.sun.star.graphic.GraphicProvider)

Dim oController as Object
Dim oUnitConverter as Object
oController = oDoc.getCurrentController()
oUnitConverter = oController.getFrame().getComponentWindow()

Dim oSelection as Object
' it could be the whole document
oSelection = oDoc

' or the selection
'Dim oTextCursor as Object
'oTextCursor = 
oDoc.getText().createTextCursorByRange(oDoc.getText().getStart())
'oTextCursor.goToRange(oDoc.getText().getEnd(), True)   
'oController.select(oTextCursor)
'oSelection = oController.getSelection()

Dim oDevice as Object
Dim aRenderOptions(5) as New com.sun.star.beans.PropertyValue
aRenderOptions(0).Name  = RenderDevice
aRenderOptions(0).Value = oDevice
aRenderOptions(1).Name  = ExportNotesPages
aRenderOptions(1).Value = False
aRenderOptions(2).Name  = IsFirstPage
aRenderOptions(2).Value = True
aRenderOptions(3).Name  = IsLastPage
aRenderOptions(3).Value = False
aRenderOptions(4).Name  = IsSkipEmptyPages
aRenderOptions(4).Value = True
aRenderOptions(5).Name  = PageRange
aRenderOptions(5).Value = 


Dim nPageCount as Integer
nPageCount = oDoc.getRendererCount( oSelection, aRenderOptions )
If nPageCount  0 Then
Dim oToolkit as Object
oToolkit = CreateUnoService(com.sun.star.awt.Toolkit)

Dim oRenderer as Object
Dim oPageSize as Object
Dim i%
Dim sURL$

While nPageCount  0
nPageCount = nPageCount - 1
oRenderer = oDoc.getRenderer(nPageCount, oSelection, 
aRenderOptions)
For i = 0 To UBound(oRenderer)
If oRenderer(i).Name = PageSize Then
oPageSize = oRenderer(i).Value
Exit For
End If
Next

Dim oDeviceSize as Object
oDeviceSize = oUnitConverter.convertSizeToPixel(oPageSize, 
com.sun.star.util.MeasureUnit.MM_100TH)
oDevice = oToolkit.createScreenCompatibleDevice( 
oDeviceSize.Width, oDeviceSize.Height)
aRenderOptions(0).Value = oDevice
oDoc.render( nPageCount, oSelection, aRenderOptions)

Dim oBitmap as Object
oBitmap = oDevice.createBitmap( 0, 0, 
oDevice.Info.Width,oDevice.Info.Height)

sURL = sBaseURL + / + CStr(nPageCount) + .png
If oSFA.exists(sURL) Then oSFA.kill(sURL)
StoreBitmapToURL(oGraphicProvider, oBitmap, sURL)
Wend
End If
End If
End Sub

Sub StoreBitmapToURL(oGraphicProvider, oBitmap, sURL)
Dim oMediaProperties(0) as New com.sun.star.beans.PropertyValue
oMediaProperties(0).Name  = Bitmap
oMediaProperties(0).Value = oBitmap

Dim oGraphic as Object
oGraphic = oGraphicProvider.queryGraphic(oMediaProperties)

If NOT IsNull(oGraphic) Then
Dim oMediaPropertiesOut(2) as New com.sun.star.beans.PropertyValue
oMediaPropertiesOut(0).Name  = URL
oMediaPropertiesOut(0).Value = sURL
oMediaPropertiesOut(1).Name  = MimeType
oMediaPropertiesOut(1).Value = image/png

oGraphicProvider.storeGraphic(oGraphic, oMediaPropertiesOut)
End If
End Sub



Regards
-- 
Ariel Constenla-Haile
La Plata, Argentina


pgpU2Eit2sUHz.pgp
Description: PGP signature


Re: [Rendering] Trying to render text page to a bitmap

2012-05-03 Thread Fernand Vanrie

Erik ,
With BASIC it can been done
have a look at this thread 
http://openoffice.2283327.n4.nabble.com/api-dev-Open-a-file-with-standard-application-from-dialog-td3067760.html


hope it helps

Fernand

Hi, I'm trying to render a page to a bitmap and I don't get it working. 
Drawing primitives works but not render a document. Do anyone know how 
to do this? Here is my code: public static BufferedImage makeThumb(File 
inFile) throws IOException, BootstrapException, 
IllegalArgumentException, Exception, java.io.IOException { 
XComponentLoader xCompLoader = 
OfficeConnection.getConnection().getXComponentLoader(); PropertyValue[] 
loadProps = new PropertyValue[2]; loadProps[0] = 
OfficeTools.makeProperty(ReadOnly, Boolean.TRUE); loadProps[1] = 
OfficeTools.makeProperty(Hidden, Boolean.TRUE); XComponent xDoc = 
xCompLoader.loadComponentFromURL(OfficeTools.makeOpenOfficeUrl(inFile.getAbsolutePath()), 
_blank, 0, loadProps); XRenderable xRender = 
(XRenderable)UnoRuntime.queryInterface(XRenderable.class, xDoc); if 
(xRender != null) { System.out.println(Is Renderable); XDevice xDevice 
= 
OfficeConnection.getConnection().getXToolkit().createScreenCompatibleDevice(1024, 
1024); PropertyValue[] renderProps = new PropertyValue[2]; 
renderProps[0] = OfficeTools.makeProperty(RenderDevive, xDevice); 
renderProps[1] = OfficeTools.makeProperty(PageRange, 1); 
xRender.render(0, xDoc, renderProps); XBitmap xBitmap = 
xDevice.createBitmap(0, 0, 1024, 1024); if (xBitmap != null) return 
ImageIO.read(new ByteArrayInputStream(xBitmap.getDIB())); else 
System.out.println(No bitmap created!); } else { 
System.out.println(Not Renderable); } return null; } Thanks in 
advance, Erik Wigforss