I am curious if you have deciphered the meaning of the 0x5d BIFF record that
occurs between MSODRAWING records. It does not seem to be an anchor. If you
know, I would appreciate comments.
Here is an example from my enhanced version of BiffViewer.
============================================
Offset 0x1044 (4164)
rectype = 0xec, recsize = 0xdc
-BEGIN DUMP---------------------------------
00000000 0F 00 02 F0 D4 00 00 00 10 00 08 F0 08 00 00 00 ................
00000010 02 00 00 00 01 04 00 00 0F 00 03 F0 BC 00 00 00 ................
00000020 0F 00 04 F0 28 00 00 00 01 00 09 F0 10 00 00 00 ....(...........
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 02 00 0A F0 08 00 00 00 00 04 00 00 05 00 00 00 ................
00000050 0F 00 04 F0 84 00 00 00 B2 04 0A F0 08 00 00 00 ................
00000060 01 04 00 00 00 0A 00 00 43 00 0B F0 4A 00 00 00 ........C...J...
00000070 04 41 01 00 00 00 05 C1 32 00 00 00 BF 01 00 00 .A......2.......
00000080 01 00 BF 03 00 00 08 00 44 00 3A 00 5C 00 42 00 ........D.:.\.B.
00000090 41 00 53 00 49 00 53 00 5C 00 47 00 4D 00 4C 00 A.S.I.S.\.G.M.L.
000000A0 5C 00 46 00 4D 00 55 00 5F 00 47 00 30 00 31 00 \.F.M.U._.G.0.1.
000000B0 2E 00 42 00 4D 00 50 00 00 00 00 00 10 F0 12 00 ..B.M.P.........
000000C0 00 00 02 00 00 00 00 00 00 00 00 00 04 00 40 00 [EMAIL PROTECTED]
000000D0 10 00 5A 00 00 00 11 F0 00 00 00 00 ..Z.........
-END DUMP-----------------------------------
recordid = 0xec, size =220
[MSODRAWING]
Drawing Container n=0
Drawing Atom v=0 (f008) Drawing ID=1
Number of Shapes: 2
Last Assigned Shape ID: 1:1
Shape Group Container (f003) n=0
Shape Container n=0
DrawingShapeGroup Atom v=1 n=0
Boundary: (0,0)-(0,0)
Shape v=2 (f00a) Primitive
ShapeId: 1:0
Flags: Group, Patriarch
Shape Container n=0
Shape v=2 (f00a) Picture Frame
ShapeId: 1:1
Flags: Anchored, Has Property
Property Table Atom (f00b) v=3, 4 properties
Property Table
BLIP (260): 1
BLIP File Name (261): D:\IMAGES\FMU_G01.BMP
[f]Fill Flags (447): 65536
Unknown Property (959): 524288
Client Anchor Atom v=0 (f010) n=0
Binary Data
02 00 00 00 00 00 00 00 00 00 04 00 40 00 10 00
5A 00
[/MSODRAWING]
============================================
Offset 0x1124 (4388)
rectype = 0x5d, recsize = 0x26
-BEGIN DUMP---------------------------------
00000000 15 00 12 00 08 00 01 00 11 60 00 00 00 00 00 07 .........`......
00000010 DC 00 00 00 00 00 07 00 02 00 FF FF 08 00 02 00 ................
00000020 01 00 00 00 00 00 ......
-END DUMP-----------------------------------
recordid = 0x5d, size =38
[UNKNOWN RECORD:5d]
.id = 5d
[/UNKNOWN RECORD]
The Client Anchor Atom above is the anchor which describes how the drawing
is positioned, and is interpreted outside of the Escher object. The 0x5d
record follows immediately, and I haven't got a clue about how to build it.
Also, how does your library deal with the MSODRAWING records, which are
scattered throughout the worksheet? Neither MSODRAWING nor MSODRAWINGGROUP
uses CONTINUE records like the rest of Excel.
I too had (actually have) a package that does drawings. The drawing part
(contents of MSODRAWING and MSODRAWINGGROUP records) are completely worked
out, except for these unknown BIF records, and the compression of BLIP
structures. I can build the Escher side of the MSODRAWING structure with
various kinds of shapes and properties, including PNG images (uncompressed).
However, I also cannot release just yet. I'm not even a committer. And I
thought the committers were about to release something, so I stopped work on
the Excel interface. My main interest was getting it to work with Microsoft
Project.
Michael Zalewski
-----Original Message-----
From: Glen Stampoultzis [mailto:[EMAIL PROTECTED]
Sent: Tuesday, December 02, 2003 11:39 PM
To: POI Users List
Subject: Re: Including images in Excel sheet
Well I have some code which almost goes as far as letting you do this that
unfortunately I can't release it yet.
Regards,
Glen
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]