Copyright © 2000-2008
Autodesk, Inc.



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.