Migration from DWF 0.55 to DWF 6.0 |
How the metadata is implemented |
|
|
|
|
|
Metadata
type |
Description |
DWF 0.55 |
DWF
6.0 |
|
|
|
File
Format |
API |
|
|
|
|
|
Previews &
Thumbnails (and Overlay Previews) |
Block
Meaning (Seals, Stamps, Redline, reserved1, reserved2, other) |
BlockRef opcode: Block_Meaning (WT_Block_Meaning) |
<Resource role=> |
ResourceHandler(role, mime); //constructor |
Creation time of the preview image (as a FILETIME) |
BlockRef opcode:
Creation_Time |
<Resource creationTime=> |
EPlotGraphicResource::setCreationTime("CCYY-MM-DDThh:mm:ss.sss"); |
GUID of the parent graphics block from which the preview
was generated. |
BlockRef
opcode: Parent_Block_Guid |
<Resource objectID=>
(of the parent resource) |
/*PARENT*/EPlotResource::setObjId();
/*CHILD*/EPlotImageResource(parentResourceIndex) /*constructor*/, or
EPlotImageResource::SetParentResourceIndex(index) |
GUID of the preview image (used during synchronization) |
BlockRef opcode:
Block_Guid |
<Resource objectID=> |
EPlotResource::SetObjId(); |
Height of the preview image in pixels |
BlockRef opcode:
Thumbnail_Preview_Image_Representation |
<GraphicResource extents=> |
EPlotGraphicResource::SetExtents(); |
Modified time of the preview image (as a FILETIME) |
BlockRef opcode:
Modification_Time |
<GraphicResource modificationTime=> |
EPlotGraphicResource::SetModificationTime("CCYY-MM-DDThh:mm:ss.sss"); |
Scan flag (indicates the drawing was scanned from paper) |
BlockRef opcode: Scan flag |
<GraphicResource scanned=> |
EPlotImageResource::SetScanned(); |
The color depth of the preview image in bits; 2 bit gray scale,
4 bit gray scale or 8 bit color. |
BlockRef opcode:
Thumbnail_Preview_Image_Representation |
<Resource colorDepth=> |
EPlotImageResource::SetColorDepth(); |
The image itself (generally in PNG format) |
In the ThumbnailPreview block |
ZIP file resource |
EPlotPageDescriptor::CreateImageResource(parentResource)->SetHandler(); |
Transform (onto drawing) |
BlockRef opcode: Relative
Targeted Position Matrix |
<Resource transform=>
(note, this transform is onto Paper, not onto the Drawing) |
EPlotGraphicResource::SetTransform(); |
Width of the preview image in pixels |
BlockRef opcode:
Thumbnail_Preview_Image_Representation |
<Resource extents=> |
EPlotGraphicResource::SetExtents(); |
|
|
|
|
|
Drawing & Overlay Data |
Alignment of the graphics block |
BlockRef
opcode: Alignment |
Should use
<Resource transform=> as relative alignments (i.e. top, center, left,
…) are not implemented |
EPlotGraphicResource::SetTransform(); |
Author of original drawing |
Author opcode |
<Manifest><Properties><Property
name="author" value= /></Properties></Manifest> OR
<Page><Properties><Property name="author" value=
/></Properties></Page> |
DwfWriter::AddProperty("author", "…") OR
EPlotPage::GetProperties()->AddProperty("author", "…") |
Border
size of the paper which cannot be printed on |
PlotInfo opcode (lowerLeft / upperRight methods) |
<Paper clip= /> |
EPlotPage::GetPaper()->SetClip(); |
Clip rectangle |
BlockRef opcode: Clipping_Rectangle |
<Resource clip=>
(in paper units) |
EPlotGraphicResource::SetClip(); |
Creation time
of this graphics block |
BlockRef opcode:
Creation_Time |
<Resource creationTime=> |
EPlotGraphicResource::SetCreationTime("CCYY-MM-DDThh:mm:ss.sss"); |
Description of original drawing |
Description opcode |
<Manifest><Properties><Property
name="description" value= /></Properties></Manifest>
OR <Page><Properties><Property name="description"
value= /></Properties></Page> |
DwfWriter::AddProperty("description", "…")
OR EPlotPage::GetProperties()->AddProperty("description",
"…") |
DPI resolution: (as scanned) |
BlockRef opcode: DPI Resolution |
<ImageResource scannedResolution=> |
EPlotImageResource::SetScannedResolution(); |
DPI resolution: (as configured to be plotted) |
not implemented |
<GraphicResource effectiveResolution=> |
EPlotGraphicResource::SetEffectiveResolution(); |
Flag for whether to mirror this graphics block or not |
BlockRef opcode: mirror_flag |
Should use <Resource transform=> with negative scaling
values |
EPlotGraphicResource::SetTransform(); |
GUID of the graphics
block |
BlockRef opcode:
Block_Guid |
<Resource objectID=> |
EPlotResource::SetObjId(); |
Inked Area (for the drawing, as well as for each overlay) |
Inked_Area opcode and/or BlockRef opcode: Inked_Area_Width and
Inked_Area_Height |
<Resource extents=> |
EPlotGraphicResource::SetExtents(); |
Left
margin relative to edge of page, offsets origin |
BlockRef opcode: Left_Paper_Offset |
Should use <Resource transform=> as relative positioning
is not implemented |
EPlotGraphicResource::SetTransform(); |
Modified time
of this graphics block |
BlockRef opcode:
Modification_Time |
<Resource modificationTime=> |
EPlotGraphicResource::SetModificationTime("CCYY-MM-DDThh:mm:ss.sss"); |
Modified time of this graphics block header |
BlockRef opcode:
BlockRef_Modification_Time |
ZIP file mod time for the descriptor XML |
DwfReader::GetFileInfo() |
Offset of the graphics block on the paper |
BlockRef opcode: Top_Paper_Offset |
<Resource transform=> |
EPlotGraphicResource::SetTransform(); |
Orientation of the graphics block |
BlockRef opcode: Orientation (WT_Orientation) |
<Resource orientation=> |
|
Parent
(main) graphics block Modified Time |
BlockRef opcode:
BlockRef_Modification_Time (of parent) |
<Resource
modificationTime=> |
|
Password |
BlockRef opcode: Password |
ZIP passwords |
DwfWriter(), DwfReader(), StreamingDwfReader(),
EPlotDwfReader(), DwfOptimizer(),
//constructors |
Rotation of the graphics block |
BlockRef opcode: Rotation |
<Resource transform=> |
EPlotGraphicResource::SetTransform(); |
Scale
factor to apply to this graphics block |
BlockRef opcode: Paper Scale |
<Resource transform=> |
EPlotGraphicResource::SetTransform(); |
Size of paper |
PlotInfo opcode |
<Paper> element as well as <Resource transform=> |
EPlotPage::GetPaper()->Set… and
EPlotGraphicResource::SetTransform(); |
Units of paper size |
PlotInfo opcode |
same |
EPlotPage::GetPaper()->Set… |
What type of overlay is it?
Enum |
BlockRef opcode: Format |
<Resource role=> |
ResourceHandler(role, mime); //constructor |
Background color |
Background opcode |
<Page color=> |
EPlotPage::SetColor() |
Which
units the DWF size (inked area) is in (inches or mm) |
n/a - always specified in DWF drawing units |
<Paper units=> |
EPlotPage::GetPaper()->Set… |
|
|
|
|
|
Miscellaneous |
A
GUID identifying the DWF to the database at Plans & Specs |
BlockRef opcode: synchronization GUID (aka guid at Plans &
Specs) |
<Page objectId=> |
EPlotPage::SetObjId() |
A GUID specifying in which container the sheet belongs |
BlockRef opcode: DWF Container Guid |
<Manifest objectId=> |
EPlotSectionManager::SetObjId() |
A GUID specifying in which discipline the sheet belongs |
BlockRef opcode: DWF Discipline Guid |
<Page><Properties><Property
name="discipline" value= /></Properties></Page> |
EPlotPage::GetProperties()->AddProperty("discipline",
"…") |
A Red Line flag telling if there was red line information
written on the paper that was scanned |
not implemented |
not implemented |
not implemented |
A Stamp flag telling if there were any stamps on the paper that
was scanned |
not implemented |
not implemented |
not implemented |
An ID
for which application created the DWF |
Main graphics header |
<Section><Source provider=></Section> |
EPlotPageDescriptor() or
Manifest->getSections()->getSection()->getSource() |
Description of the sheet |
Description opcode |
<Page><Properties><Property
name="description" value= /></Properties></Page> |
EPlotPage::addProperty("description", "…") |
Encryption method |
BlockRef opcode: Encryption |
deprecated / not implemented |
not implemented |
MiniDwf |
BlockRef opcode: Mini DWF flag |
DWF package with one resource |
|
Modified time for sheet description |
not implemented ? |
ZIP file mod time for the descriptor XML |
DwfReader::GetFileInfo() |
Modified time for sheet name string |
not implemented ? |
ZIP file mod time for the descriptor XML |
DwfReader::GetFileInfo() |
Plot order |
BlockRef opcode: Sheet Print Sequence |
<Page plotOrder=> |
EPlotPage::GetPlotOrder() |
Sheet name of the DWF |
Subject opcode ? |
<Page name=> |
EPlotPage::SetName() |
The data / time that the DWF was last synced with Plans
& Specs (as a FILETIME) |
BlockRef opcode: Last Sync Time |
<Page><Properties><Property
name="syncTime" value= /></Properties></Page> |
EPlotPage::GetProperties()->AddProperty("syncTime",
"…") |
The version information for the authoring application |
Main graphics header |
<Section><Source provider=></Section> |
EPlotPageDescriptor() or
Manifest->getSections()->getSection()->getSource() |
Valid flag (allows blocks to be marked invalid to minimize
rewriting the entire file - can write a new valid block at the end of the
file) |
BlockRef opcode: Valid |
If
invalid, the internal filename in the ZIP directory will be set to a all
blanks. |
DwfWriter::_invalidateFile(filename) private
member, exposed through
DwfAggregator::invalidateFile(filename) protected
member. |
|
|
|
|
|
|
|
|
|
|