Hi Nick,
Thanks for your response.
The OLE link is not powerpoint related. I've gathered that it consists of
several parts. Some that I have been able to decode, some not. The
following are the list:
Header : 0100 0002 0100 0000 0100 0000 0000 0000 0000 0000
Moniker Length: (DWORD) 88000000
Monikers 09030000 000000000 C0000000 00000046 02000000
Item Moniker 04030000 000000000 C0000000 00000046 02000000 '!' 00
04000000 '276' 00 (this is the slide ID)
File Moniker 03030000 000000000 C0000000 00000046 00000000 length
filepath FFFFADDE 5DWORDs of 0s 1 DWORD length 0300x filepath DWORD
Moniker length (DWORD)
Relative file moniker (similar above)
End moniker 0500 4C000000 01140200 00000000 C0000000 00000046
unknown words 83000000 20080000 (maybe a link type?)
unknown fields: ( 6 bytes + C601 ) x 3
unknown 00762400 DWORD 0 DWORD 1 3x DWORD 0 6701 (content varies for
different PPT files)
drive id?? 1400 1f50 E04F D020 EA3A 6910 A2D8 0800 2B30 309D (length Word
and unkown)
Path info: for each path elements (D:\ Dir1 Dir2 filename)
length 1DWORD path name 00000000
0000 (end path)
user info: length
unknown string "18 EC303CD6 58FC4CA4 C0508A47 D442F2B1 95E20500 AE DA11A6
DE 0011 25B30E2F" (twice)
0x Item moniker -1x
CLASSID (PPT slide) "118D8164 9B4FCF11 86EA00AA 00B929E8"
0x -1x
unknown fields: ( 6 bytes + C601 ) x 3
Regards,
Budi Darmawan
ITSO Tivoli Projects
[EMAIL PROTECTED]
phone: 1-512-838-7184
Tuesday, March 28, 2006 4:13 AM
To: POI Users List <[email protected]>
cc:
From: Nick Burch <[EMAIL PROTECTED]>
Subject: Re: OLE linking format
On Mon, 27 Mar 2006, Budi Darmawan wrote:
> I am investigating how to automatically creates OLE links from a
> PowerPoint presentation into a ADOBE FrameMaker document. The slides are
> created as OLE objects. When I extract the OLE object, it is a POI fs
> with 3 streams: \003FrameMakerSiteData, \001Ole and \002OlePres000; The
> \001Ole streams contains the monikers and other information on accessing
> the slide. While I have been able to understand some of the contents, I
> am still confused with most of them :).
The two things I'd suggest trying (though I suspect you might've done both
of these!)
1) Pass the OLE object through org.apache.poi.poifs.dev.POIFSViewer, and
take a look at what's in there
2) Change org.apache.poi.hslf.dev.SlideShowDumper, so it points to
the stream of interest, instead of the normal PowerPoint stream
(~line 130)
If the contents are record based, this will give you the record tree
If it does contain any normal PPT records, then you should be fine to use
the normal PPT record code to create handlers for them. I suspect though
that you'll need to code up support for some new kinds of records (do
contribute them back if we don't support them yet!)
Nick
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
Mailing List: http://jakarta.apache.org/site/mail2.html#poi
The Apache Jakarta Poi Project: http://jakarta.apache.org/poi/