Drawing shapes with COM API

D

Dave Mc

Hi,

I got it into my head that I'd like to try to draw some shapes on a OneNote
page through the COM API. I'm happily using the API for various things
including creating pages and adding tables (what I'm trying to say is that
I'm not a complete novice) and am now trying something more adventurous.

For the last couple of days, I've been researching how to use the simple
drawing tools, so far to no avail. I've created a demo app that creates a
new page and then adds various items to it ie a Title and an Outline with
"hello world" text. These are happily accepted when I pass the created xml
string to UpdatePageContent(). I can also successfully create a simple ink
image using 64-bit data (I borrowed an example image from another web-site).
However, when I try to use ShapeInfo / Anchorpoint constructs, I get the
0x80042001 exception.

I give below the xml string that I'm trying to import using
UpdatePageContent. The ShapeInfo and AnchorPoint constructs are obtained
from xml produced by GetPageContent() run on another page that contains a
drawn simple horizontal line. I give the xml rather than the code as I'm
working in VB and I've noticed that most of the community works in C#. I've
added CRLFs and Tabs to aid clarity (I hope), these are not present in the
string I give to UpdatePageContent().

<?xml version="1.0" ?>
<one:page
xmlns:eek:ne="http://schemas.microsoft.com/office/onenote/2007/onenote"
ID="{2FF73249-7BD9-45BF-8829-3E3C0C29D903}{1}{B0}" name="Output Drawing"
dateTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z">
<one:pageSettings RTL="false" color="automatic">
<one:pageSize>
<one:Automatic />
</one:pageSize>
<one:RuleLines visible="false" />
</one:pageSettings>
<one:Title style="font-family:Calibri;font-size:17.0pt" lang="en-US">
<one:OE author="Dave" lastModifiedBy="Dave"
creationTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z"
objectID="{9D218139-156B-46E5-9BC0-7DAB13D93F30}{15}{B0}" alignment="left">
<one:T>
<![CDATA[ Output Drawing ]]>
</one:T>
</one:OE>
</one:Title>
<one:Outline>
<one:position x="36" y="100" z="0" />
<one:Size width="600" height="154" />
<one:OEChildren>
<one:OE>
<one:T>
<![CDATA[ hello world ]]>
</one:T>
</one:OE>
</one:OEChildren>
</one:Outline>
<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:ShapeInfo isLine="true">
<one:AnchorPoint x="54.0" y="266.3999938964844" />
<one:AnchorPoint x="466.5000305175781" y="268.5" />
</one:ShapeInfo>
</one:InkDrawing>
</one:page>

I'm doing something wrong that I can't fathom or have missed the
documentation that said that it's not possible. Can anyone give me a clue as
to where I'm going wrong, please?

TIA. Dave
 
J

John Guin [msft]

It looks like you need to include the binary data (the actual image, if you
will) of the drawing itself.

You can get omspy here
http://blogs.msdn.com/descapa/archive/2007/02/12/omspy-a-onenote-developer-s-tool.aspx
and use it examine the xml from a page with an ink drawing. be sure to
export the binary content so you can see the data.

--
Hope this helps,
John Guin
OneNote Test Team
http://blogs.msdn.com/johnguin


Dave Mc said:
Hi,

I got it into my head that I'd like to try to draw some shapes on a OneNote
page through the COM API. I'm happily using the API for various things
including creating pages and adding tables (what I'm trying to say is that
I'm not a complete novice) and am now trying something more adventurous.

For the last couple of days, I've been researching how to use the simple
drawing tools, so far to no avail. I've created a demo app that creates a
new page and then adds various items to it ie a Title and an Outline with
"hello world" text. These are happily accepted when I pass the created xml
string to UpdatePageContent(). I can also successfully create a simple ink
image using 64-bit data (I borrowed an example image from another web-site).
However, when I try to use ShapeInfo / Anchorpoint constructs, I get the
0x80042001 exception.

I give below the xml string that I'm trying to import using
UpdatePageContent. The ShapeInfo and AnchorPoint constructs are obtained
from xml produced by GetPageContent() run on another page that contains a
drawn simple horizontal line. I give the xml rather than the code as I'm
working in VB and I've noticed that most of the community works in C#. I've
added CRLFs and Tabs to aid clarity (I hope), these are not present in the
string I give to UpdatePageContent().

<?xml version="1.0" ?>
<one:page
xmlns:eek:ne="http://schemas.microsoft.com/office/onenote/2007/onenote"
ID="{2FF73249-7BD9-45BF-8829-3E3C0C29D903}{1}{B0}" name="Output Drawing"
dateTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z">
<one:pageSettings RTL="false" color="automatic">
<one:pageSize>
<one:Automatic />
</one:pageSize>
<one:RuleLines visible="false" />
</one:pageSettings>
<one:Title style="font-family:Calibri;font-size:17.0pt" lang="en-US">
<one:OE author="Dave" lastModifiedBy="Dave"
creationTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z"
objectID="{9D218139-156B-46E5-9BC0-7DAB13D93F30}{15}{B0}" alignment="left">
<one:T>
<![CDATA[ Output Drawing ]]>
</one:T>
</one:OE>
</one:Title>
<one:Outline>
<one:position x="36" y="100" z="0" />
<one:Size width="600" height="154" />
<one:OEChildren>
<one:OE>
<one:T>
<![CDATA[ hello world ]]>
</one:T>
</one:OE>
</one:OEChildren>
</one:Outline>
<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:ShapeInfo isLine="true">
<one:AnchorPoint x="54.0" y="266.3999938964844" />
<one:AnchorPoint x="466.5000305175781" y="268.5" />
</one:ShapeInfo>
</one:InkDrawing>
</one:page>

I'm doing something wrong that I can't fathom or have missed the
documentation that said that it's not possible. Can anyone give me a clue as
to where I'm going wrong, please?

TIA. Dave
 
D

Dave Mc

John,

Many thanks for the prompt reply which has helped me move forward a lot.

I tried what you suggested and included the Data phrase within the XML
string that I was trying to upload and, Bingo!, it worked. I was able to
create a page with a graphic image on it, exactly as I was expecting. That,
at least, solves the mystery of why I was always getting the 0x80042001
exception.

I give below the relevant phrases of the xml that I now successfully import
using UpdatePageContent():

<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:ShapeInfo isLine="true">
<one:AnchorPoint x="54.0" y="266.3999938964844" />
<one:AnchorPoint x="466.5000305175781" y="268.5" />
</one:ShapeInfo>
<one:Data>ADYdA9wIFAMNSBBFyAFGyAFXDQAAABBBVTdBF+9uPVzVprsS/38/UB/uROjXEkYKBwIMAAT2AQA=</one:Data>
</one:InkDrawing>

Being a curious fellow, I then wondered why I needed both the image
definition in the Data phrase and the image defined by the
ShapeInfo/AnchorPoint phrases, as
I was expecting that either one or the other would fully describe the
drawing I wanted. So, I commented out the ShapeInfo/Anchorpoint phrase
creation from my code, which resulted in a simpler xml string, of which the
following is a relevant extract:

<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:Data>ADYdA9wIFAMNSBBFyAFGyAFXDQAAABBBVTdBF+9uPVzVprsS/38/UB/uROjXEkYKBwIMAAT2AQA=</one:Data>
</one:InkDrawing>

I imported this using UpdatePageContent(), once again, and got an image on
the new ON page that looks exactly the same as the page content that I got
using the string that includes the ShapeInfo/AnchorPoint phrases.

I used OMSpy and looked at the xml of both created pages. The page where I
imported just the Data phrase contained only that (with an added one:Size
phrase)
and the page where I imported ShapeInfo/Anchorpoints contained those
ShapeInfo and AnchorPoint phrases plus the additional one:Size phrase noted
in the other page. I had to do this three times, just to make sure I hadn't
muddled the pages/code up, but I'm pretty sure that's right. My conclusion
is that ON doesn't recreate the ShapeInfo/Anchorpoint data if one doesn't
supply it.

So, my observations here are that a) one always must import a Data image,
and b) the ShapeInfo/Anchorpoint phrases appear to be redundant.

I admit that I've only been trying to create a trivial drawing here, so I
haven't explored all conditions, but it looks to me that I won't be able to
achieve my desired objective of programmatically drawing simple images. Not
unless I create a complete set beforehand and then paste in the relevant Data
phrases.

Have I got this right? Is there something I'm missing?

I also wondered whether I could manipulate the 64-bit data, so I had a look
in the Schema but I couldn't find such a definition of how the Data phrase is
constructed. Is there such a definition available? Is this a sensible way
of doing things? It strikes me as being rather cumbersome when there are
higher-level objects available.

By the way, I love OMSpy - works like a dream, it's just what I needed.

All the best.

Dave


John Guin said:
It looks like you need to include the binary data (the actual image, if you
will) of the drawing itself.

You can get omspy here
http://blogs.msdn.com/descapa/archive/2007/02/12/omspy-a-onenote-developer-s-tool.aspx
and use it examine the xml from a page with an ink drawing. be sure to
export the binary content so you can see the data.

--
Hope this helps,
John Guin
OneNote Test Team
http://blogs.msdn.com/johnguin


Dave Mc said:
Hi,

I got it into my head that I'd like to try to draw some shapes on a OneNote
page through the COM API. I'm happily using the API for various things
including creating pages and adding tables (what I'm trying to say is that
I'm not a complete novice) and am now trying something more adventurous.

For the last couple of days, I've been researching how to use the simple
drawing tools, so far to no avail. I've created a demo app that creates a
new page and then adds various items to it ie a Title and an Outline with
"hello world" text. These are happily accepted when I pass the created xml
string to UpdatePageContent(). I can also successfully create a simple ink
image using 64-bit data (I borrowed an example image from another web-site).
However, when I try to use ShapeInfo / Anchorpoint constructs, I get the
0x80042001 exception.

I give below the xml string that I'm trying to import using
UpdatePageContent. The ShapeInfo and AnchorPoint constructs are obtained
from xml produced by GetPageContent() run on another page that contains a
drawn simple horizontal line. I give the xml rather than the code as I'm
working in VB and I've noticed that most of the community works in C#. I've
added CRLFs and Tabs to aid clarity (I hope), these are not present in the
string I give to UpdatePageContent().

<?xml version="1.0" ?>
<one:page
xmlns:eek:ne="http://schemas.microsoft.com/office/onenote/2007/onenote"
ID="{2FF73249-7BD9-45BF-8829-3E3C0C29D903}{1}{B0}" name="Output Drawing"
dateTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z">
<one:pageSettings RTL="false" color="automatic">
<one:pageSize>
<one:Automatic />
</one:pageSize>
<one:RuleLines visible="false" />
</one:pageSettings>
<one:Title style="font-family:Calibri;font-size:17.0pt" lang="en-US">
<one:OE author="Dave" lastModifiedBy="Dave"
creationTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z"
objectID="{9D218139-156B-46E5-9BC0-7DAB13D93F30}{15}{B0}" alignment="left">
<one:T>
<![CDATA[ Output Drawing ]]>
</one:T>
</one:OE>
</one:Title>
<one:Outline>
<one:position x="36" y="100" z="0" />
<one:Size width="600" height="154" />
<one:OEChildren>
<one:OE>
<one:T>
<![CDATA[ hello world ]]>
</one:T>
</one:OE>
</one:OEChildren>
</one:Outline>
<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:ShapeInfo isLine="true">
<one:AnchorPoint x="54.0" y="266.3999938964844" />
<one:AnchorPoint x="466.5000305175781" y="268.5" />
</one:ShapeInfo>
</one:InkDrawing>
</one:page>

I'm doing something wrong that I can't fathom or have missed the
documentation that said that it's not possible. Can anyone give me a clue as
to where I'm going wrong, please?

TIA. Dave
 
J

John Guin [msft]

Have you checked the schema reference at
http://blogs.msdn.com/johnguin/archive/2009/01/13/list-of-powertoys-from-the-test-team-for-2008.aspx
(I have the link there) yet? The ShapeInfo and AnchorPoints are redundant
if and only if the page origin is the default. If you import HTML that moves
the origin (rare, but it happens) then the values will differ.

Also, to manipulate the the shape, ink, or images) you need to manipulate
the binary data - this is the design of our XML api. This is how the image
rotator at
http://blogs.msdn.com/johnguin/archive/2009/01/13/list-of-powertoys-from-the-test-team-for-2008.aspx
works - there are plenty of MSDN articles on how to do this.

If you really get fired up, jump over to the open source object model at
www.codeplex.com/onom and feel free to extend away!

--
Thanks,
John Guin
OneNote Test Team
http://blogs.msdn.com/johnguin


Dave Mc said:
John,

Many thanks for the prompt reply which has helped me move forward a lot.

I tried what you suggested and included the Data phrase within the XML
string that I was trying to upload and, Bingo!, it worked. I was able to
create a page with a graphic image on it, exactly as I was expecting. That,
at least, solves the mystery of why I was always getting the 0x80042001
exception.

I give below the relevant phrases of the xml that I now successfully import
using UpdatePageContent():

<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:ShapeInfo isLine="true">
<one:AnchorPoint x="54.0" y="266.3999938964844" />
<one:AnchorPoint x="466.5000305175781" y="268.5" />
</one:ShapeInfo>
<one:Data>ADYdA9wIFAMNSBBFyAFGyAFXDQAAABBBVTdBF+9uPVzVprsS/38/UB/uROjXEkYKBwIMAAT2AQA=</one:Data>
</one:InkDrawing>

Being a curious fellow, I then wondered why I needed both the image
definition in the Data phrase and the image defined by the
ShapeInfo/AnchorPoint phrases, as
I was expecting that either one or the other would fully describe the
drawing I wanted. So, I commented out the ShapeInfo/Anchorpoint phrase
creation from my code, which resulted in a simpler xml string, of which the
following is a relevant extract:

<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:Data>ADYdA9wIFAMNSBBFyAFGyAFXDQAAABBBVTdBF+9uPVzVprsS/38/UB/uROjXEkYKBwIMAAT2AQA=</one:Data>
</one:InkDrawing>

I imported this using UpdatePageContent(), once again, and got an image on
the new ON page that looks exactly the same as the page content that I got
using the string that includes the ShapeInfo/AnchorPoint phrases.

I used OMSpy and looked at the xml of both created pages. The page where I
imported just the Data phrase contained only that (with an added one:Size
phrase)
and the page where I imported ShapeInfo/Anchorpoints contained those
ShapeInfo and AnchorPoint phrases plus the additional one:Size phrase noted
in the other page. I had to do this three times, just to make sure I hadn't
muddled the pages/code up, but I'm pretty sure that's right. My conclusion
is that ON doesn't recreate the ShapeInfo/Anchorpoint data if one doesn't
supply it.

So, my observations here are that a) one always must import a Data image,
and b) the ShapeInfo/Anchorpoint phrases appear to be redundant.

I admit that I've only been trying to create a trivial drawing here, so I
haven't explored all conditions, but it looks to me that I won't be able to
achieve my desired objective of programmatically drawing simple images. Not
unless I create a complete set beforehand and then paste in the relevant Data
phrases.

Have I got this right? Is there something I'm missing?

I also wondered whether I could manipulate the 64-bit data, so I had a look
in the Schema but I couldn't find such a definition of how the Data phrase is
constructed. Is there such a definition available? Is this a sensible way
of doing things? It strikes me as being rather cumbersome when there are
higher-level objects available.

By the way, I love OMSpy - works like a dream, it's just what I needed.

All the best.

Dave


John Guin said:
It looks like you need to include the binary data (the actual image, if you
will) of the drawing itself.

You can get omspy here
http://blogs.msdn.com/descapa/archive/2007/02/12/omspy-a-onenote-developer-s-tool.aspx
and use it examine the xml from a page with an ink drawing. be sure to
export the binary content so you can see the data.

--
Hope this helps,
John Guin
OneNote Test Team
http://blogs.msdn.com/johnguin


Dave Mc said:
Hi,

I got it into my head that I'd like to try to draw some shapes on a OneNote
page through the COM API. I'm happily using the API for various things
including creating pages and adding tables (what I'm trying to say is that
I'm not a complete novice) and am now trying something more adventurous.

For the last couple of days, I've been researching how to use the simple
drawing tools, so far to no avail. I've created a demo app that creates a
new page and then adds various items to it ie a Title and an Outline with
"hello world" text. These are happily accepted when I pass the created xml
string to UpdatePageContent(). I can also successfully create a simple ink
image using 64-bit data (I borrowed an example image from another web-site).
However, when I try to use ShapeInfo / Anchorpoint constructs, I get the
0x80042001 exception.

I give below the xml string that I'm trying to import using
UpdatePageContent. The ShapeInfo and AnchorPoint constructs are obtained
from xml produced by GetPageContent() run on another page that contains a
drawn simple horizontal line. I give the xml rather than the code as I'm
working in VB and I've noticed that most of the community works in C#. I've
added CRLFs and Tabs to aid clarity (I hope), these are not present in the
string I give to UpdatePageContent().

<?xml version="1.0" ?>
<one:page
xmlns:eek:ne="http://schemas.microsoft.com/office/onenote/2007/onenote"
ID="{2FF73249-7BD9-45BF-8829-3E3C0C29D903}{1}{B0}" name="Output Drawing"
dateTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z">
<one:pageSettings RTL="false" color="automatic">
<one:pageSize>
<one:Automatic />
</one:pageSize>
<one:RuleLines visible="false" />
</one:pageSettings>
<one:Title style="font-family:Calibri;font-size:17.0pt" lang="en-US">
<one:OE author="Dave" lastModifiedBy="Dave"
creationTime="2009-08-17T15:15:20.000Z"
lastModifiedTime="2009-08-17T15:15:20.000Z"
objectID="{9D218139-156B-46E5-9BC0-7DAB13D93F30}{15}{B0}" alignment="left">
<one:T>
<![CDATA[ Output Drawing ]]>
</one:T>
</one:OE>
</one:Title>
<one:Outline>
<one:position x="36" y="100" z="0" />
<one:Size width="600" height="154" />
<one:OEChildren>
<one:OE>
<one:T>
<![CDATA[ hello world ]]>
</one:T>
</one:OE>
</one:OEChildren>
</one:Outline>
<one:InkDrawing isUnclassified="true" inkOriginX="0" inkOriginY="0">
<one:position x="54.0" y="266.3999938964844" />
<one:ShapeInfo isLine="true">
<one:AnchorPoint x="54.0" y="266.3999938964844" />
<one:AnchorPoint x="466.5000305175781" y="268.5" />
</one:ShapeInfo>
</one:InkDrawing>
</one:page>

I'm doing something wrong that I can't fathom or have missed the
documentation that said that it's not possible. Can anyone give me a clue as
to where I'm going wrong, please?

TIA. Dave
 
D

Dave Mc

John,

Many thanks once again for your time and attention.

I have indeed downloaded the Schema a while ago and used it while I was
trying to fathom how to create ON drawings. I had a look at it again today
and still don't see any reference to the need to import the image as Data
being mandatory, nor that ShapeInfo and AnchorPoints are not necessary when
the ink origin is default. Anyway, worrying about this doesn't help now as
my original problem is solved and I now understand the requirement (though
don't particularly like it !!).

I had a scan on MSDN, as you suggested, for info on the 64-bit encoded Data
definition. I found a reference to the Ink Serialized Format specification -
is this what I should be looking at?

Thanks for the invitation to contribute to ONOM. I downloaded the source a
week or so ago in my pursuit of assistance with my invalid drawing xml
exception. In the process of doing so, I installed Visual Studio C# and
downloaded NUnit. Despite a few hours effort, I was never able to make it
compile and abandoned that for a scan of the OM source code instead. In any
case, I haven't written any C in earnest for many years and am not sure I
want to learn C# for this purpose alone.

By the way, I downloaded the Image Rotator and installed it, but can't make
it work. I have the ImageTools icon appearing on the menu bar, which, when
clicked, displays the floating toolbar with four buttons. If I select an
image and then click any of the four buttons, I get a 'No Images Selected'
messagebox every time... er, how do I uninstall the image rotator?

Would appreciate if you could confirm if ISF is what I should be looking at,
before I spend any more time on it.

All the best,

Dave
 
R

Rainald Taesler

Dave said:
By the way, I downloaded the Image Rotator and installed it, but
can't make it work. I have the ImageTools icon appearing on the menu
bar, which, when clicked, displays the floating toolbar with four
buttons. If I select an image and then click any of the four
buttons, I get a 'No Images Selected' messagebox every time... er,

Really strange!
This tool has always been working fine for me.

Are you really sure that an image is selected?
Dou see the birders with the handles?
how do I uninstall the image rotator?

Just the normal way one dies an uninstall <g>.
The thing is listed with the installed software.

Rainald
 
D

Dave Mc

Rainald,

Yes, I do have the borders and handles visible when I try the rotate
operation.

Steps to reproduce
1) Draw an ellipse using the Oval tool from the Drawing toolbar
2) Click on the oval object,
3) Observe feint borders and handles
4) Pull on one one handle on one edge to adjust aspect ratio of ellipse
5) Click on 'ImageTools' menu icon
6) Observe that 4-button floating toolbar appears
7) Click on one of the 4 buttons
8) Observe the messagebox with text 'No images selected'
9) Note that selected ellipse is no longer selected

In writing the above, I've found the problem, I believe. I'm not selecting
an Image, rather an InkDrawing object. It looks as though the ImageTools
only work with Images… surprise, surprise.

Thanks for your response to my query.

Any comment as to whether the Ink Serialized Format (ISF) spec is the one I
need if I want to pursue programmatic manipulation of drawings further?

Dave
 
J

John Guin [msft]

Can you post the link to the article on MSDN you referenced?

And, yes,the image rotator fills the functionality gap in ON 2007. You can
rotate shapes (ink shapes) with the ON functionality, but not images without
the tool.
 
R

Rainald Taesler

Dave said:
Rainald,

Yes, I do have the borders and handles visible when I try the rotate
operation.

Steps to reproduce
1) Draw an ellipse using the Oval tool from the Drawing toolbar
2) Click on the oval object,
3) Observe feint borders and handles
4) Pull on one one handle on one edge to adjust aspect ratio of
ellipse 5) Click on 'ImageTools' menu icon
6) Observe that 4-button floating toolbar appears
7) Click on one of the 4 buttons
8) Observe the messagebox with text 'No images selected'
9) Note that selected ellipse is no longer selected

Yes, that's the result when trying the tool in *drawings*.
For those the built-in rotation feature works fine.
In writing the above, I've found the problem, I believe. I'm not
selecting an Image, rather an InkDrawing object. It looks as though
the ImageTools only work with Images… surprise, surprise.

Exactly!
The PowerToy is for imported images only.
Thanks for your response to my query.

You're welcome.
Any comment as to whether the Ink Serialized Format (ISF) spec is the
one I need if I want to pursue programmatic manipulation of drawings
further?

I'm sorry, I never dealt with programming for OneNote.

Rainald
 
D

Dave Mc

John,

Yes, the document is available from 'download.microsoft.com' and I get a URL
that looks like this
"http://74.125.153.132/search?q=cach...ormatspec&cd=1&hl=en&ct=clnk&client=firefox-a"
but I don't think that it's complete, somehow.

It's also available at
"http://www.digitalpreservation.gov/formats/digformatspecs/InkSerializedFormat(ISF)Specification.pdf".

The msft and digitalpreservation pdfs are slightly different, so I'm not
sure which is latest. Neither appear to have any revision numbers/history.

DaveMc
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top